본문 바로가기

728x90
반응형

학부/코딩테스트 준비

(8)
코딩 테스트 준비 (동빈나님의 이코테 강의 리뷰1) 어쩌다보니 인턴십을 준비하면서 코딩 테스트 일정이 잡히게 되었다. 나한테 주어진 시간은 3일밖에 없었기 때문에 어떻게 코딩 테스트를 준비할까하다가 티스토리에 글을 작성하면서 이코테 강의를 듣기로 했던 것이 기억이 나서, 적어도 알고리즘 유형이라도 알고 들어가자 ! 라는 마음으로 공부를 시작했다. 코딩 테스트의 결과는 이코테 강의 리뷰 마지막에 남기도록 하며, 3일동안 벼락치기 공부했던 것을 티스토리에 쓰려고 한다. 3일에 걸쳐서 했던 정도를 기록하도록 하겠다. HTML 삽입 미리보기할 수 없는 소스 시간 복잡도 (개인적으로 정말 중요하다고 생각되는 부분 중에 하나인 것 같다.) 빅오 표기법 (Big-O Notation) : 가장 빠르게 증가하는 항만을 고려하는 방법 O(1) : 상수 시간 O(logN) ..
백준 (단계별 풀어보기 4단계) 10807 문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 N = int(input()) T = [int(x) for x in input().split()] cut = int(input()) total = 0 for i in range(N): if T[i] == cut: total += 1 print(total) 직관적으로 코드를 짰으며, 같은 숫자가 나올 경우 += 를 이용하여 counting을 해주었다. 뭔가, 더 좋은 코드가 있을 것 같아서 다른 사람의 답변을 참고해보았다. HTML 삽입 미리보기할 수 없는 소스 n = int(input()) n_list = list(map(int, input().split())) v = int(input()) print(n_list.count(v)) 다른 사람들 대부분이 list의 ..
백준 (단계별 풀어보기 3단계) 2439 문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 N = int(input()) for i in range(1,N+1): k = '*'*i print(k.rjust(N)) rjust 메서드를 사용하여 오른쪽 정렬로 출력할 수 있었다.
백준 (단계별 풀어보기 3단계) 8393문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 length = int(input()) i = 0 summation = 0 while i < length: i += 1 summation += i print(summation) while 문을 사용했고, 정답을 맞출 수 있었다. 하지만, 뭔가 더 좋은 코드들이 있을 것 같아서 다른 사람들의 코드를 살펴보기 시작했고 역시나 더 간단한 코드를 짤 수 있었다. HTML 삽입 미리보기할 수 없는 소스 # 다른 사람 답변1 n = int(input()) a = 0 for i in range(1,n+1): a += i print(a) # 다른 답변 2 print(sum(range(1, int(input())+1))) 심지어 답변 2는 한줄만으로 끝날 수 있었다. 간단한 구조를..
백준 (단계별 풀어보기 2단계) 2480 문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 a,b,c = map(int,input().split()) dice = [a,b,c] length = len(set(dice)) if length ==1 : print(a*1000 + 10000) # index 함수로 해당 숫자가 해당 인덱스 말고도 다른 인덱스에 존재한다면, list에 int형 자료로 추가 elif length ==2 : x = [int(x) for i,x in enumerate(dice) if i !=dice.index(x)] print(int(x[0])*100 + 1000) else: print(max(dice)*100) list 내에서 반복문을 사용하는 코드는 굉장히 유용해서 한번 알아두면 자주 쓸 수 있다. 또한, enumerate 함수를 ..
백준 (단계별 풀어보기 2단계) 2525문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 a,b = map(int,input().split()) c = int(input()) if (b+c)%60==0: if a+((b+c)//60) >= 24 : print(a+((b+c)//60)-24,0) else: print(a+((b+c)//60), 0) elif (b+c)>60 and (b+c)%60!=0: if a+((b+c)//60) >= 24 : print(a+((b+c)//60)-24, (b+c)%60) else: print(a+((b+c)//60), (b+c)%60) else: print(a,b+c) 정답은 맞긴 했지만, if문이 과도하게 많이 사용된거 같았고 코드가 깔끔해 보이지 않았다. 따라서, 다른 사람들의 답변을 참고 했고 다음과 같은 답변들을..
백준 (단계별 풀어보기 2단계) 2753 문제, 파이썬 HTML 삽입 미리보기할 수 없는 소스 # 오답인 답변 x = int(input()) if x%4==0 & x%100!=0 | x%400==0: print(1) else: print(0) 계속 |를 사용해서 접근하다보니, 에러가 지속적으로 발생했었다. 즉, 둘 중 하나 이상이 1이면 1이 된다는 뜻. 여기서 or 대신 | 를 넣고 2000을 대입하면, 0이 나오는데, 이는 x%4와 x%100과 x%400이 모두 다른 식으로 인식되기 때문이다. x%400이 true라서 x%100 | x%400 ⇒ 1이 되어도, x%4는 0이 아니므로 & 연산자에 의해 false로 판별한다. x = int(input()) if (x%4==0 and x%100!=0) or x%400==0: print(1) else: prin..
코딩 테스트 준비 코딩 테스트 준비 시작 AI 분야에서 공부를 하고 있는 입장으로, 다양한 채용 공고들을 보면 '코딩 테스트'가 늘 한 단계로 존재했다. 아직 python을 능숙하게 다루지 못하는 입장으로, 코딩 테스트는 꽤나 무서운 단계였기 때문에 이에 대한 준비가 필요하다고 판단했다. https://haesoo9410.tistory.com/351 코딩테스트 준비하기 (with. 백준 & 프로그래머스) 1. 소개 최근 코딩 테스트 준비 어떻게 했냐, 알고리즘 어떻게 공부하냐, 코테 대비 어떻게 했냐 등의 질문을 자주 받고 있다. 그래서 필자가 취업 준비를 하던 당시에 했던 방식을 바탕으로 공부 haesoo9410.tistory.com 코딩 테스트 준비 단계는 이 분의 블로그를 참고했으며, 백준부터 시작하려고 한다. 20..

728x90
반응형