코딩테스트


99클럽 코테 스터디 | 비기너 | 3일차처음 접근 방법우선 처음 문제를 봤을 때 지레짐작으로 문제를 잘못 생각한 부분이 있다. 예제 입력에서 입력값이 7개인데 예제 출력에서는 6개만 입력이 되어서 '아~ '6'과 같이 0과 1이 아닌 숫자를 입력하면 아무것도 출력되지 않는구나' 라고 혼자 단단히 오해를 했다. 이 것 때문에 문제를 더 복잡하게 풀었는데, 나중에 뭔가 이상해서 다시 문제를 읽어보니.. 맨 윗줄의 입력값은 수식의 개수 T를 의미하는 것이었다.. 문제를 제대로 읽자....ㅎ.ㅎ 개선 방법오해를 바로잡은 후, 접근했던 방식은 아래와 같다. 1. 왼쪽 느낌표의 개수, 오른쪽 느낌표의 개수를 각각 left_count, right_count로 센다2. 가운데 숫자를 num으로 저장한다3. is_ri..


99클럽 코테 스터디 | 비기너 | 2일차처음 접근 방법1. 사용자로부터 입력을 받아서 input을 input_list 안에 넣는다2. for문을 통해 input_list의 입력을 하나씩 읽어온다3. 각 입력을 다시 for문을 돌리며, if-else문을 통해 대소문자, 숫자, 공백이면 해당 개수를 count한다3-1. 아스키코드를 이용해서 대소문자를 구분하였다. 위와 같이 해결했을 때, 몇 가지 개선 사항이 필요했다. 우선, 사용자가 몇 개의 입력을 줄 지 모르는데, 이 경우 처리는 어떻게 해야 하는 것인지 궁금증이 들었다. 두번째, for문이 두번 중첩되기 때문에 시간복잡도 측면에서 몹시 비효율적인 코드이기 때문에 개선이 필요했다. 세번째, 주어진 예시에서 아래와 같은 경우 공백이 포함되지 않은 채로..


99클럽 코테 스터디 | 비기너 | 1일차 def solution(list): answer = [] for i in range(len(list[0])): cur = list[0][i] all_match = True for l in list[0:]: if l[i] != cur: all_match = False break if all_match: answer.append(cur) else: answer.append('?') answer = ''.join(answer) return answern = int(input..


https://www.acmicpc.net/problem/10808 def solution(input_str): alphabet_list = [0] * 26 for char in input_str: index = ord(char) - ord('a') alphabet_list[index] += 1 for i in range(len(alphabet_list)): print(alphabet_list[i], end=' ')input_str = input()solution(input_str)


https://www.acmicpc.net/problem/1439 Step 1. 0에서 1로 바뀌는 구간 찾기Step 2. case1) 0으로 바뀔 때 횟수 카운트Step 3. case2) 1로 바뀔 떄 횟수 카운트Step 4. case1과 case2 중에서 min 값 구하기 def solution(string): input_list = list(input) #print(input_list) count_when_zero = 0 count_when_one = 0 for i in range(len(input_list)): # case1) 0으로 바뀔 때 횟수 count if (input_list[i] == '1') and (input_list[i] !=..

https://leetcode.com/problems/count-primes/ Step1. n개의 True로 구성된 is_prime 리스트 생성Step2. 0과 1에 대해 소수가 아니므로 False로 미리 처리Step3. 2부터 루트 n까지 반복하면서Step4. 그 수의 배수들을 False 처리Step5. is_prime 리스트에서 최종적으로 True의 개수만 세기 import mathclass Solution(object): def countPrimes(self, n): """ :type n: int :rtype: int """ if n == 0 or n == 1: return 0 is_prime = [..


https://www.acmicpc.net/problem/1929 import mathdef solution(M, N): is_prime = [True] * (N+1) is_prime[0] = is_prime[1] = False for i in range(2, int(math.sqrt(N))+1): if is_prime[i]: for j in range(i*i, N+1, i): is_prime[i] = False for k in range(M, N+1): if (is_prime[k]==True): print(k) M, N = map(int, input().split())solution(..

https://leetcode.com/problems/first-unique-character-in-a-string?source=submission-ac SolutionStep 1. 주어진 String에서 하나씩 돌면서 char 확인하기Step 2. i번재 char이 이전에 나왔는지, 이후에 또 나오는지를 체크함Step 3. 반복되지 않을 경우, 바로 break하고 answer return Step 4. 다 확인했는데도 해당하는 경우 없으면 -1 반환 Codeclass Solution(object): def firstUniqChar(self, s): char_list = [] for i in range(len(s)): char = s[i] ..