본문 바로가기

728x90

Job Wanted/코테 - 프로그래머스

(46)
[프로그래머스] 코딩테스트 연습 > 연습문제 > 최대공약수와 최소공배수 내가 맞힌 정답:: # def gcd(x, y): # def lcm(x, y): import math def solution(n, m): answer = [] # answer.append(math.gcd(n,m)) # answer.append(math.lcm(n,m)) # print(n) # print(m) # print(math.gcd(n,m)) answer.append(math.gcd(n,m)) answer.append(n*m/math.gcd(n,m)) return answer https://school.programmers.co.kr/learn/courses/30/lessons/12940?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 ..
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 문자열 밀기 예외 케이스를 혼자 힘으로 찾는다는 것은 정말 힘들지만 뿌듯한 일이다. 하마터면 못풀뻔했는데, 움직이지 않아도 되는 예외 케이스를 생각해보았다. A가 "hello"이고, B 역시ㅣ "hello" 일 경우에, 움직이지 않아도 되기 때문에 답은 0이어야하지만, 실제로는 5번 움직여서 5로 답이 출력되는 것을 알 수 있었다. 그래서 답이 문자열의 길이와 같을 경우 0을 출력하도록 바꿨더니 정답이었다. 내가 맞힌 정답:: def solution(A, B): answer = 0 n = len(A) for i in range(n): temp = '' temp = temp + A[-(i+1):] + A[:((n-1)-i)] print(temp) if temp == B: answer = i+1 if answer == ..
[프로그래머스] 코딩테스트 연습 > 연습문제 > 피보나치 수 정답율이 그렇게 낮지도 않은데 무려 6점! 기분이 매우 좋다. 내가 맞힌 정답 + 잘못 푼 정답 :: 처음에 재귀로 풀려고 했는데, 자꾸 시간초과 에러가 났다. 그래서 for문으로 풀었다. 이렇게 하니까 더 쉽게 푼 것처럼 보인다. '''def fib(n): if n == 0: return 0 elif n == 1 or n==2: return 1 else: return (fib(n-2) + fib(n-1)) % 1234567 ''' def solution(n): answer = 0 # answer = fib(n) a = 0 b = 1 for i in range(n-1): c = a + b a = b b = c answer = c % 1234567 return answer https://school.pro..
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 진료순서 정하기 리스트의 크기의 순서를 정렬하기 위한 리스트를 하나를 추가로 생성한다. 그리고 인덱싱을 편하게 하기 위해서 범위의 숫자인 100보다 큰 수 한개를 더 추가를 해둔다. 그런 뒤에 역순으로 sort를 하고 인덱싱으로 리스트에 값을 순서대로 추가해준다. 내가 맞힌 정답:: def solution(emergency): answer = [] sort_emergency = [] for el in emergency: sort_emergency.append(el) sort_emergency.append(1000) sort_emergency.sort(reverse=True) for el in emergency: answer.append(sort_emergency.index(el)) return answer https:/..
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 합성수 찾기 처음에 문제를 너무 어렵게 생각했나보다. 다시 차분하게 풀어보니까 이중 for문으로 생각보다 쉽게 풀렸다. 내가 맞힌 정답:: def solution(n): answer = 0 for i in range(1,n+1): yak = 0 for j in range(1, i+1): if i%j == 0: yak += 1 if yak > 2: answer += 1 return answer 잘못 작성한 답 (1) (정답율 33%):: def isPrime(n): num = 0 for i in range(2,n): if n//i == 0: num += 1 if num == 1: return True else : return False def solution(n): answer = 0 tmp_list = [] prin..
[프로그래머스] 코딩테스트 연습 > 연습문제 > 삼총사 itertools combination 을 알고나니까 금방 금방 풀리는 문제들이 늘어났다. 까먹지않고 앞으로도 유용하게 사용해야지 내가 맞힌 정답:: from itertools import combinations def solution(number): answer = 0 combin = list(combinations(number,3)) for i in range(len(combin)): if sum(combin[i]) == 0: answer += 1 return answer https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, ..
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 369게임 EZ. 왜 이걸 여태 안풀었지..? 내가 맞힌 정답:: def solution(order): answer = 0 a = str(order) for _ in a: if _ == '3': answer += 1 elif _ == '6': answer += 1 elif _ == '9': answer += 1 return answer https://school.programmers.co.kr/learn/courses/30/lessons/120891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 다음에 올 숫자 코딩테스트 연습 > 코딩테스트 입문 > 다음에 올 숫자 정답율이 57%이다. 그정도 문제인지는 잘 모르겠다. 아마 파이썬으로 풀었을 때 코드적으로 쉽게 접근할 수 있는 부분이 있어서 그런지도 모르겠다. 내가 맞힌 정답:: def solution(common): answer = 0 if (common[1] - common[0]) == (common[2] - common[1]): answer = common[-1] + (common[1] - common[0]) elif (common[1] / common[0]) == (common[2] / common[1]): answer = common[-1] * (common[1] / common[0]) return answer https://school.programm..
[미완][프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 숨어있는 숫자의 덧셈 (2) 코딩테스트 연습 > 코딩테스트 입문 > 숨어있는 숫자의 덧셈 (2) 정답율은 77%이지만, 문제 해결에 성공한 사람의 숫자는 그렇게 많지 않다. 내가 맞힌 정답:: . 잘못 작성한 답 (1) :: 이 코드는, 10개의 테스트 케이스 중에는 9개가 맞다. 근데 딱 한개가 맞지 않는데, 그게 뭔지 도저히 모르겠다. 한글자인 경우, 두글자인 경우, 숨어있는 숫자가 없는 경우, 숫자만 존재하는 경우를 따로 추가를 해봐서 테스트를 해봤는데, 전부 통과했다. def solution(my_string): answer = 0 idx = 0 b = list(my_string) d = ['a', 'a', 'a', 'a', 'a', 'a'] c = len(b) b2 = b + d l = len(b) print(b) if c..
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 컨트롤 제트 코딩테스트 연습 > 코딩테스트 입문 > 컨트롤 제트 .lstrip('-').isdigit() 내가 맞힌 정답:: Z 라는 문자가 나오면, 바로 이전에 있던 인덱스의 수를 덧셈에 포함시키지 않는 문제였다. 가볍게 인덱스로 매핑 해주고 정수로 구분되는 것은 모두 더해준 뒤에, Z 문자가 나왔을 경우에 이전 인덱스를 다시 뺄셈을 해주는 방식을 사용하였다. 그런데 문제는 음의 정수였다. 음의 정수는 isdigit() 메소드에서 정수로 인식을 못해서 answer 변수에 덧셈이 성립이 되지 않았다. 그래서 사용한 것이 .lstrip('-').isdigit() 이었다. 이걸 사용하면 음의 정수도 인식을 할 수 있게 되었다. 이거 넣었더니 바로 답이 나왔다. def solution(s): answer = 0 t = l..

728x90
반응형