[Programmers] #120894 - 영어가 싫어요 [Java][C++][Python]
문제 링크 1. 아이디어 문자열 numbers는 zero부터 nine까지의 영어 숫자 단어 조합이 공백 없이 이어져 있다. zero부터 nine까지 각 문자열을 0부터 9까지의 문자열로 치환하면 numbers를 result로 깔끔하게 변환할 수 있다. 2. 복잡도 접근 시간 공간 ...
문제 링크 1. 아이디어 문자열 numbers는 zero부터 nine까지의 영어 숫자 단어 조합이 공백 없이 이어져 있다. zero부터 nine까지 각 문자열을 0부터 9까지의 문자열로 치환하면 numbers를 result로 깔끔하게 변환할 수 있다. 2. 복잡도 접근 시간 공간 ...
문제 링크 1. 아이디어 문자열 my_string의 각 문자를 순회하며 소문자면 대문자로, 대문자면 소문자로 바꿔 이어붙이면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(N)$ ($N$ = my_...
문제 링크 1. 아이디어 해독된 암호 문자열은 cipher에서 code의 배수 번째 글자만 모은 문자열이다. code가 첫 문자를 1번으로 판정하므로 code - 1부터 code만큼 더한 것에 해당하는 인덱스의 문자만 모으면 된다. 2. 복잡도 접근 시간 공간 ...
문제 링크 1. 아이디어 369게임은 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 쳐야 하므로 order에 포함된 3, 6, 9의 개수를 세어야 하는 문제다. order를 10으로 나눈 나머지가 3, 6, 9인지 판단하고 10으로 나눈 몫을 다시 10으로 나누는 과정을 반복하면 order에 포함된 3, 6, 9의...
문제 링크 1. 아이디어 정수 배열 array와 정수 n이 주어질 때, array에서 n과 가장 가까운 수, 그런 수가 여러 개면 더 작은 수를 반환하는 문제다. n과 해당 원소의 차를 저장한 변수 diff를 두어 diff가 더 작아지는 경우에는 정답을 갱신하고, diff가 동일한 원소를 만나면 더 작은 원소일 때만 정답을 갱신하면 된다. ...
문제 링크 1. 아이디어 세 변을 오름차순으로 정렬하면 가장 긴 변은 마지막 원소가 된다. 삼각형이 되려면 가장 긴 변이 나머지 두 변의 합보다 짧아야 하므로, 정렬 후 sides[0] + sides[1] > sides[2]가 성립하면 1, 아니면 2를 반환하면 된다. 2. 복잡도 접근 시간 ...
문제 링크 1. 아이디어 문자열 my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 반환하는 문제로 해시셋을 활용하면 해결할 수 있다. my_string의 각 문자를 순회하며 해시셋에 존재하지 않는 문자면 결과 문자열에 붙이고, 존재하는 문자면 건너뛰는 과정을 반복했다. 2. 복잡도 접근...
문제 링크 1. 아이디어 문자열 배열 strlist에 대해 각 문자열의 길이를 구해 입력 순서대로 배열에 담아 반환하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(N)$ ($N$ = strlis...
문제 링크 1. 아이디어 숫자와 "Z"가 공백으로 구분된 문자열 s가 주어질 때, s의 숫자들을 차례대로 더하는데 이때 "Z"가 나오면 바로 전에 더했던 숫자를 빼는 과정을 반복하여 최종 값을 구하는 문제다. s를 공백을 기준으로 토큰 단위로 분리한 후 앞에서부터 더하다가 "Z"가 등장하는 순간 이전에 더했던 숫자를 다시 빼는 과정을 반복하면...
문제 링크 1. 아이디어 x를 2부터 1씩 늘려가며 n이 x로 나누어떨어지는지 확인한다. 나누어떨어지면 x는 n의 소인수이므로 결과에 담고, 더 이상 나누어떨어지지 않을 때까지 n을 x로 계속 나눠 같은 소인수의 중복을 없앤다. x를 작은 값부터 훑기 때문에 x가 합성수가 될 즈음에는 그 약수인 더 작은 소수들로 n이 이미 모두 나뉘어 n이 ...