오우 오늘 처음으로 코딜리티 풀었다 문제는 아래와 같다 대표사진 삭제 사진 설명을 입력하세요. 숫자를 이진수로 바꿨을 때 0의 연속의 길이를 구하는 것이다 근데 0이 그냥 연속돼있으면 안되고 1과 1 중간에 끼어 있어야 쳐준다 (사실 이거 빼먹었는데 다행히 테
대충 숫자 주면 lotation 돌리라는 소리 끝나면 테스트 코드를 알려주는데 example 빼고 다틀림^^이래서 테스트 코드를 짜는게 중요하다고 하는 갑다 결과는 여기여러가지 에러가 있지만 ZeroDivisionError: integer division or modu
대충 홀수번 나온 숫자를 찾는 문제라고 한다결과는 여기에
덧셈 뺄셈 문제이다 결과는 여기에여기서 codility에서 math를 사용할 수 있다는 걸 알 수 있다
어디서 본 듯한 .... 근데 in 써서 풀면 안되는(느림) 결과는 여기에
결과는 여기slicing+for문 써서 더 느린거 같다(slicing 은 시간 복잡도 O(N))결과는 여기\-맨 마지막에 출력 한번 안되게 하려고 all_sum == sum_number로 break문을 걸었는데, 음수/양수/0 셋다 나오는 상황이여서 맨 마지막이 아니라
(3, 1, 3, 1, 3, 2, 1, 3)를 넣을 때 왜 4가 나와야하지 1아닌가? 이러면서 생각하고 있었는데 문제를 잘 못 이해한 듯 했다 떨어지는 위치만 고려할 게 아니라 시간도 고려해야 하는 거였다느리겠지 했는데 정말 느리다 역시 (중간의 sorted때문에)so
전 문제에서 삽질을 많이 해서 빨리 풀었다 set중큰것.differnce(set중작은것) 하면 set으로 set 큰거 - set 작은것을 반환해준다(list 씌워서 써준다)이 때 if 문을 쓸 때 is를 쓰면 이상하게 나오고 ==을 써야 제대로 나오도라(왜 그런지는 난
리스트 안에 없는 가장 "작은" 양수를 반환하는 것이다범위 안에서 가장 작은 값이 아니라 그냥 작은 양수를 반환하는 것이다만일 리스트 안에 양수가 없으면 1을 반환 삽질의 현장 함께 해봅시다 맨 처음 문제를 잘못 이해해서 없는 양수중 가장 작은 값이 아니라 큰 값을 구
설마하고 시도!결과는 여기서 세상이 호락호락하지 않다는걸 알게된다 찾아보니 이건 한번 돌면 안되고, 그냥 처음 값과 끝 값으로 계산을 해줘야한다고 한다 그리고 B/K의 몫이 이전에 나온 divisable 값들의 갯수라고 한다 흠 결과는 여기서흠..
결과는 여기서음 느려ㅠ ㅠ앞에가 되는게 더 신기하다 그리고 참고로 sort 후 0 보다는 min이 더 빠르다고 한다 하지만 이 문제는 min으로도 되지 않는다 사실상 min이 O(n)이니까 거의 for문 두번 돌린것과 같다는 것sort 후 \[0] vs min() 시간
뭔소린가 했는데 다음과 같이 이해하면 될 듯 하다 A에서 0, 2 번째가 동쪽으로 가는 차 A에서 1, 3, 4번째가 서쪽으로 가는 차 그리고 이것들을 조합하는데, P보다 Q 가 작아야함 그래서 (0, 1) 이런 조합은 안되고 (0, 1), (0, 3), (0, 4)
결과는 여기test code를 꼭 짜보려고 하는데, 엄청 긴 수에 대해서는 테스트 코드를 어떻게 짜야할지 모르겠다 🤦♀️
길이가 3개인 것은 그냥 곱해서 return 하도록 했다 min_num_multiply는 sorted 해서 가장 맨 처음에 나오는 두개의 값을 곱한 거로 음수끼리 곱했을 때 가장 큰 값 max_num_multiply는 sorted 해서 가장 맨 뒤에서 앞, 그 앞에 나
연속적인 부분 합이 가장 작을 때 시작 지점슬라이싱을 사용하면 되고, 연속 2개/3개의 평균 중 작은 값을 찾으면 된다 첫번째 while문은 두개씩 돌린 것, 두번째 while문은 세개씩 돌린 것 근데 이게 O(n) 나온게 신기하다...결과는 여기
생각해보니 정렬을 해서 연속되는 세 수를 비교하면 되는 것 결과는 여기에
빈 리스트에 대해 예외처리를 해줬는데 알고보니 빈 리스트도 짝이 맞는 것으로 채점하더라 결과는 여기
기준을 min값으로 고정시키고 풀어서 풀이가 복잡하고 놓치는 부분이 있었다 결과는 여기서기준을 그때그때 변경하도록 했다 위처럼 풀면 같은 값에 대해서는 고려하지 않아도 된다 결과는 여기
결과는 여기에고냥 했는데 역시 n^2여서 안된다 결과는 여기에중간에 혹시 반복문을 덜 실행(?) 해보면 괜찮을까 해서 위처럼 짰는데 오히려 더 안 좋아졌다 생각해보니 for문 한번 돌면서 count 계속 갱신하면 해결되는 문제였다 결과는 여기에
https://app.codility.com/demo/results/trainingF5XNDN-N7Z/ | https://app.codility.com/demo/results/trainingRC857V-YEJ/ | https://app.codility.com/
고냥 더한 값들을 리스트에 모아 비교를 했다 합이 음수일 경우에는 0으로 초기화해서 다시 비교를 해주었다 결과는 여기에
처음부터 끝까지 비교하며 약수를 구하는 단순한 방법 O(N) 큰 값에서 Timeout이 발생했다 결과는 여기에 root(N)을 기준으로 약수가 대칭으로 있다 결과는 여기에
앞의 문제와 마찬가지로 root(N) 값을 기준으로 약수가 대칭된다는 것을 이용하면 된다 결과는 여기에
codility에서는 공식적으로 두가지 방법에 대해 소개하고 있다 첫번째 방법으로 진행할 경우 timeout이 발생한다 flags는 peak의 길이가 최대이기 때문에 peak의 길이만큼 비교를 해주었다 결과는 여기에 다른건 다 이해 되는데 N/i + 1 >= i 여야
결과는 여기에 https://app.codility.com/demo/results/training9AH3FF-VSH/ https://app.codility.com/demo/results/trainingYX26RY-RQC/ https://app.codility.
| 1트 list에 있는 수들의 갯수를 hash에 저장해놓음 list에 있는 수 각각의 약수를 찾아서 list에 있는지 찾아본다 list에 있는 갯수를 전체 길이에서 뺀 것이 답 결과는 여기에 이렇게 했더니 몇몇 케이스에 대해서 | 2트 ~ 3트 https:
| 1트 https://app.codility.com/demo/results/trainingRDVBXW-VB8/ | 2트 https://app.codility.com/demo/results/trainingKNF3PP-7DD/
codility에서 제공하는 유클리드 호제법을 사용했는데 뭔가 느린것(?)결과는 여기에구글링을 해서 다른 유클리드 호제법을 알아왔는데 이게 훨씬 빠르고 좋은 것 같다 결과는 여기에
https://app.codility.com/demo/results/training6GUDWB-DQQ/ https://app.codility.com/demo/results/training7Q5AYM-FBD/ https://app.codility.com/demo/re
코테 준비를 하는데 DP문제가 나온다는 소식을 듣고(!)영어인 코딜리티는 잠시 뒤로 미루고 DP 문제들 위주로 푸는 것(이거 준비 끝나면 다시 코딜리티로 돌아가야겠다)누가 친절하게 정리를 해놔서 여기에 있는 문제들 위주로 먼저 풀어보려고 한다 2748번 문제 test코
| 1트 처음에 이렇게 생각했는데 10 -> 9 -> 3 -> 1 순서로 가야 맞는 것 | 2트
9095번 문제 DP는 메모이제이션을 사용해야한다고 한다 배열에는 지금 index까지 더하는 방식의 갯수를 저장한다 지금 index +1, +2, +3의 위치의 값에는 지금의 index를 미리 더해준다
백준 2579 번 문제 n은 자연수이므로 n = 1, n = 2일때만 예외처리를 해주었다(예외처리 안하면 outofindex 남)현재 계단의 최댓값은 (세번째 전의 계단까지의 최댓값 + 바로 이전의 계단 값)vs (두번째 전의 계단까지의 최댓값)중 선택하도록 한다그래야
백준 DP 11722 파이썬 풀이 아무리 생각해도 뭔지 모르겠어서다른 블로그를 참고해보니 for문을 두개 중첩해서 하는 것도 가능하더라이전의 수들을 모두 비교해 현재보다 크기가 큰 수의 count값을 모두 저장한다 이후 저장한 count값 + 1이 현재의 count값이
백준 1520 DP 파이썬 풀이
| 1트 짝수와 홀수를 나누어서 계산을 어떻게 해보려 했지만 실패했다 리스트 고쳐 써도 런타임 에러가 생긴다 | 2 ~ n트
최소 스패닝 트리 관련 풀이
BOJ - 1504(특정한 최단거리) python 풀이
백준 2631(줄세우기) python 풀이입니다
BOJ - 1976(여행가자) python 풀이
BOJ - 11048(이동하기) python 풀이
백준 5052(전화번호 목록) python 풀이입니다
BOJ - 9935(문자열 폭발) python 풀이입니다
백준 11054(가장 긴 바이토닉 부분 수열) python 풀이입니다
백준 4386 - 별자리 만들기 파이썬 풀이 입니다
백준 2252 - 줄 세우기 파이썬 풀이 입니다
1931 그리디 풀이
백준 2346 - 풍선 터트리기
BOJ 15591 - MooTube (Silver)
BOJ 2302- 극장 좌석
카카오 2019 겨울 인턴십 코딩테스트 풀이입니다
HackerRank-Journey to the Moon