Coding Test

Coding Test/문제 풀이

[문제 풀이] 무지의 먹방 라이브

해결 과정 와 일단 ㅋ ㅋ ㅋ 4번 이상을 다시 짰다. 정확성 + 효율성 문제라 정확성만 맞으면 통과가 안된다. 1. 효율성 있길래 첫 풀이는 나름 고심해서 짰는데 정확성 자체가 통과를 다 못했고, 2. 다음 풀이는 정확성은 모두 맞으나, 효울성이 다 안나왔다. 그래서 생각해낸 IDEA. 최소인 숫자를 모두 건너 뛰면 되겠다 -> 카카오 해설을 보니 이게 맞다. 3. 그래서 이 방식대로 2를 변경했는데 역시나 효율성이 다 안나온다. 4. 이코테 + 카카오 해설 방식으로 다시 짰는데 와 여기서 스스로 짜려니까 빼먹은 부분이 많았다. 어떤 부분이냐면, 효율성을 위해 시간을 빼주지 않고 따로 변수로 관리하도록 하는데, 이를 계산하는 부분이 난감했다. ㅋ 나의 풀이 import heapq def solution..

Coding Test/문제 풀이

[문제 풀이] 백준 1439

해결 과정 연속된 하나 이상의 숫자를 모두 뒤집는데, 모두 같은 숫자로 만들 수 있는 최소 횟수 구하기 -> 연속된 하나 이상의 숫자 -> 한 숫자로 만들기 -> 0과 1 중 몇 번 뒤집는게 최소인지 구하기 나의 풀이 def solution(): S = input() tmp = S[0] tmpList = [S[0]] for i in S: if tmp == i: continue else: tmp = i tmpList.append(i) if len(tmpList) == 1: return 0 else: return min(tmpList.count("1"), tmpList.count("0")) print(solution())

Coding Test/문제 풀이

[문제 풀이] 백준 1644

해결 과정 여러 개념들이 섞여 있는 문제다. 처음 풀이로는 시간 초과. 소수 찾기 - 에라토스테네스의 체 특히 이 문제는 투 포인터라는 개념을 알아야 했다. 즉, 연속적으로 이어진 배열의 합을 찾을 때, O(n*n)이 아니라, O(n) 선형 시간으로? 이 부분을 이해해보자. 나의 풀이 다음 두 글을 참고했다. https://wikidocs.net/21638 https://freedeveloper.tistory.com/393 def getNum(n, m, data): count = 0 interval_sum = 0 end = 0 # start를 차례대로 증가시키며 반복 for start in range(n): # end를 가능한 만큼 이동시키기 while interval_sum < m and end < n..

Coding Test/문제 풀이

[문제 풀이] 백준 5052

해결 과정 정렬 테마를 알고 있어서, 정렬 후 앞 뒤 하나만 비교하면 되겠다는 IDEA는 얻었는데, input()으로 받으니까 시간초과 나는 것이었음; 이곳을 참고해서 input()대신 sys.stdin.readline().strip() 사용. ㅋㅋ 그런가보다. 나의 풀이 import sys def solution(): n = int(input()) arr = [] for _ in range(n): # arr.append(input()) arr.append(sys.stdin.readline().strip()) arr.sort() for i in range(1, n): if arr[i].startswith(arr[i-1]): return "NO" return "YES" t = int(input()) for..

Coding Test/문제 풀이

[문제 풀이] 백준 9935

해결 과정 처음에 푼 풀이 -> 시간초과 앞에 것 자른 풀이 -> 메모리초과 결국 스택 사용하라나 보다 싶어서 스택 IDEA 보고, 구현해봄. 나의 풀이 def solution(): str = input() explosion = input() eLen = len(explosion) end = explosion[-1] stack = [] for s in str: stack.append(s) if s == end and "".join(stack[-eLen:]) == explosion: for _ in range(eLen): stack.pop() if not stack: return "FRULA" return "".join(stack) print(solution()) 다른 풀이 이 분 블로그 글을 참고했다. ..

EUNJI HA
'Coding Test' 카테고리의 글 목록 (5 Page)