[Codility] Lesson12. Chocolatesbynumber (python)
·
코딩 테스트
1. 문제 2. 풀이 def solution(N, M): x = 0 eat = [0] while(1): res = (x + M) % N if res == 0: break eat.append(res) x = x + M return len(eat) 처음에 while문으로 문제에 나온 그대로 풀다가 Time out... 그래서 풀이를 찾아보았다. 초콜릿을 먹는 개수는 N,M의 최대공약수의 배수 개수만큼 먹는다. 결국 최대공약수를 구하는 문제 3. 코드 def solution(N, M): a, b = N, M while(b): a, b = b, a % b gcd = a #최대공약수 answer = N // gcd return answer 참조 : https://killong.blogspot.com/2019/12..
[Codility] Lesson4. MissingInteger (Python)
·
코딩 테스트
1. 문제 app.codility.com/c/run/training67GEXN-3BR/ Codility Your browser is not supported You should use a supported browser. Read more app.codility.com 2.풀이 test case 딱 1개가 안풀렸던 문제. seq = 10005 길이의 마이너스 값이 섞인 integer로 구성된 배열 중 답이 101이 나와야하는데 계속 100이 나왔다. 그냥 단순히 최소 양수 int가 1부터이므로 pivot=1 로 시작하고 값을 비교해나가면서 pivot을 증가시키면 되었다. 마지막에 pivot을 return 너무 복잡하게 생각말고 단순하게 생각하고 문제푸는 습관을 길러야겠다. 3.코드 def solution..
[Codility] Lesson4. Max Counters (Python)
·
코딩 테스트
1. 문제 app.codility.com/c/run/trainingNPTET7-BCU/ Codility Your browser is not supported You should use a supported browser. Read more app.codility.com 2. 풀이 Time out 이 났었던 문제. max값은 리스트의 값을 갱신할때마다 함께 갱신해주고 A[K] = N+1일 경우 max_val을 갱신해 준다. li[A[K]-1]의 값을 증가 counter + 1 할 때에는 해당 리스트의 값이 max_val 보다 작으면 max_val로 맞춰주면서 조정하고 그 후에 +1을 해준다. 시간복잡도를 생각하면서 풀어햐했던 문제. 3. 코드 def solution(N, A): li = [0 for _ i..
[프로그래머스] 뉴스 클러스터링 (Python)
·
코딩 테스트
🍒문제 programmers.co.kr/learn/courses/30/lessons/17677?language=python3 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 🍒풀이 1. string 을 모두 대문자 or 소문자로 변환 후 2. 2개씩 단어를 짤라서 리스트에 저장한다. (str1 -> a 리스트, str2 -> b 리스트에 저장) 3. 두 리스트의 교집합과 합집합을 구한 뒤 4. 교집합 원소 중 count 함수를 사용해서 둘 중 (a, b) 작은 값을 5. 합집합 원소 중 ..
[프로그래머스] 타겟넘버 (Python)
·
코딩 테스트
🍒문제 programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 🍒풀이 재귀함수를 사용해서 -numbers[idx] 또는 +numbers[idx]을 해주어총 합계를 구하였다. idx가 numbers 리스트의 범위를 벗어나면 target 과 total 합계가 동일한지 확인한 후 동일하면 answer을 증가한다. 이때 solution 함수 내에다가 함수 선언 후 answer 변수를 ..
[프로그래머스] 문자열 압축 (Python)
·
코딩 테스트
🍒문제 programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 🍒풀이 1. 문자열의 절반만큼의 길이만 확인해도 된다. 2. 길이 1 ~ 문자열의 길이/2 길이만큼 반복문으로 검사 3. 이중 반복문으로 pivot이 되는 문자열을 비교 후 3-1. 동일하면 cnt 증가 3-2. 다르면 result 문자열 업데이트 , 새로운 pivot 문자열 업데이트 4. 마지막 문자열의 경우 반복문 마지막에 다시 한 번 검사 5. 최종적으로 ..