본문 바로가기

728x90

분류 전체보기

(153)
[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 문자열 밀기 예외 케이스를 혼자 힘으로 찾는다는 것은 정말 힘들지만 뿌듯한 일이다. 하마터면 못풀뻔했는데, 움직이지 않아도 되는 예외 케이스를 생각해보았다. 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..
[면접 준비] 네트워트 관련 용어 정리 서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 UDP UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)는 비연결형 프로토콜 이다. IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다. UDP는 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않는다. 이 모두가 사용자 프로세스의 몫이다. UDP가 행하는 것은 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공하는 것이다. 종종 클라이언트는 서버로 짧은 요청을 보내고, 짧은 응답을 기대한다. 만약 요청 또는 응답이 손실된다면, 클라이언트는 time out 되고 다시 시도할 수 있으면 된다. 코드가 간단할 뿐만 아니라 TCP 처럼 초기설정(..
[미완][프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 숨어있는 숫자의 덧셈 (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
반응형