본문 바로가기
반응형

프로그래머스59

프로그래머스 - N으로 표현 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제 풀이 N으로 표현할 수 있는 경우는 N 한 가지이다. 이를 DP[0]이라고 하면 DP[0] = { N }이다. N 2개로 표현할 수 있는 경우는 NN, (N+N, N-N, N*N, N/N) 이며 이를 DP[1]이라 하면 DP[1] = { NN, N+N, N-N, N*N, N/N } 이다. N 3개로 표현할 수 있는 경우는 NNN, (NN+N, NN-N, NN*N, NN/N), {(N+N)+N), (N+N)-N, (N+N)*N, (N+N)/N}, ... 이다. 이를 DP[2]라 하면 DP[2]는 DP[1]와 DP[0]의 사.. 2022. 3. 2.
프로그래머스 - 여행경로 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 문제 풀이 조건을 보면 주어진 항공권은 모두 사용해야하며 가능 경로가 2개 이상일 때에는 알파벳 순서가 앞서는 경로를 return한다고 되어있다. 나는 DFS로 풀이할 것이기 때문에 visited 배열을 티켓에 대해 체크하는 용도로 사용했다. 우선, 알파벳 순서가 앞서는 경로를 먼저 확인하기 위해 tickets 배.. 2022. 2. 19.
프로그래머스 - 단어 변환 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제 풀이 현재 단어에서 하나의 문자만 다른 단어를 찾아 해당 단어부터 다시 DFS를 거치는 방식으로 풀면 된다. 먼저, 두 단어가 한 가지의 문자만 다른지 찾는 함수를 구현해준다. bool isAbleToChange(string a, string b){ int cnt = 0; for(int i=0; i .. 2022. 2. 19.
프로그래머스 - 숫자의 표현 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 문제 풀이 n의 범위가 10000 이하의 자연수이므로 브루트포스를 돌리기에 충분하다. 따라서, 차례대로 더해나가며 n을 만들 수 있는지 확인한다. 테스트 케이스 1번에서 보면, 1+2+3+...을 더하다보면 15가 만들어진다. 따라서 answer를 ++시켜주고 반복문을 종료한다. 다시, 처음 나오는 수를 증가시켜 2+3+4+.... 2022. 2. 17.
반응형