본문 바로가기

알고리즘

(5)
[백준] 17609번 회문 / C언어 https://www.acmicpc.net/problem/17609 백준 기준 난이도는 골드 5이며 생각하기에 유사회문에 대해 문제 해결 방식을 생각해 내면 그렇게 어렵지 않게 알고리즘 보다는 구현 쪽으로 푸는 문제인거 같다.  # 문제 이해 팰린드롬은 문자열이 짝수면 인덱스 기준으로 맨 처음과 맨 끝이 같고 그렇게 맨 처음은 인덱스 +1 / 맨 끝은 인덱스 -1이런식으로 하면 'abba' , 'baab' 와 같은 형식이 바로 팰린드롬이다. 홀수면 제일 중간 인덱스를 제외하고 나머지가 짝수처럼 앞 뒤가 같으면 팰린드롬이 된다. 자료구조를 배우면서 스택과 큐를 쓰면서 해본 기억이 있다.  하지만 이 문제에는 또 다른 조건식인 유사회문이 있다. 유사회문이란 어떤 문자열에서 문자 하나를 지우게 되면 회문이 되..
[백준 / 올림피아드 ] 28325번 호숫가의 개미굴 ( DP , greedy / c언어) 학교에서 친해진 형이 추천으로 코딩 학원 초,중등부 학원 알바를 하게 되었다. 그 중에 한 학생이 정보 올림피아드 1차 예선을 붙어서 2차 준비를 맡게 되었다. 중등부 정보 올림피아드 문제를 보는 순간 약간 당황스러웠던 점이 많았다. 일단 생각보다 난이도 더 높았다.  특히 시간 복잡도, 공간 복잡도를 하나 하나 체점을 하는 방식이다. 총 올림피아드 문제는 4문제로 2문제만 정확히 맞추면 되는 목적으로 가르치라고 명을 받게 되었다. 그 중 2번 문제인 이 문제는 난해한 구현 문제였다. 그래서 어떻게 최적의 알고리즘을 짜야할지 고민을 많이 했다.  백준 기준 골드 5의 난이도 DP 문제이다.  https://www.acmicpc.net/problem/28325  DP(Dynamic Programming)란..
[백준] 1260 DFS와 BFS (그래프 탐색 / C언어 ) 이번 학기( 2024년 1학기 ) 자료구조를 배우며 그래프 활용에 대해 어려움을 많이 겪었다.끝나고 몇 번의 복습을 거쳐서 이 문제에 적용하여 풀게 되었다. 그래프를 표현하기 위한 대표적인 자료구조 설정은 인접행렬과 인접리스트 방법이 있다.그래프 표현 후에 DFS( 깊이 우선 탐색 )와 BFS ( 너비 우선 탐색 )을 활용하여 푸는 문제이다. 백준 기준으로 실버 2인 문제이다. https://www.acmicpc.net/problem/1260    여기서 그래프 이론을 알기 전에 DFS와 BFS가 무엇인지부터 알아야 풀 수 있는 지식이 필요한 문제이다. EX ) 인접리스트 ( 그래프 탐색은 dfs bfs 둘 다 사용이 가능하다 ! ) DFS ( 스택 활용 / Depth First Search ) >> 임..
[백준] 1271번 엄청난 부자 / python (with c) c언어로의 이 문제 난이도는 절대 브론즈의 문제가 아니다. python으로 풀면 3줄이면 푸는 아주 쉬운 백준 기준 브론즈5 난이도의 문제이다. 나는 아직 알고리즘을 공부할 때 다른 언어에 미숙하다고 생각해서 c언어로 풀고 있다. 이 문제에서 잘 봐야하는 것은 바로 입력 값의 m과n은 10진수 정수이자 10^1000까지라고 범위가 지정되어있다. c언어에서 이런 10진수인 정수를 표현하는 int와long ( int  여기서 주어진 범위는 10^1000 이므로 최대를 넘어서서 오버플로우가 일어나 문제에서 오류로 지정한다. 난 처음에 단순하게 생각해서 풀었다가 3번정도 틀리니 내 자신을 의심했다.  그래서 문제를 제대로 읽고 보니 입력 값의 범위 지정이 c언어로 구현하기에 너무나도 많은 것을 생각 해야했다. ..
[백준]12789번 도키도키 간식드리미 (스택/ C언어 ) 스택 개념을 활용한 문제1,2월에 도전했던 문제지만 실패했다. 다시 도전해서 풀게된 문제 중 하나이다. 스택 개념을 모르고 푼다면 어렵지만 알면 응용해서 꽤 간단하게 구현 가능한 문제이다.난이도는 백준 기준으로 실버3이다.https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두www.acmicpc.net  - 스택(stack)?  스택의 개념을 처음 접하면 나오는 단어인 LIFO(Last-In-First-out) 후입선출 개념이다. 스택을 ..