https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 코딜리티에서 lesson 3 시간 복잡도 문제를 풀었다. 이 문제가 이해하는데 가장 시간을 많이 쓴 것 같다.. 영어로 된 것도 있지만 이 문제를 효율적으로 풀어야 하는 나한테 요구하는게 뭔지 파악을 하기가 힘들었다. 문제 그대로 해석하면 p에 따라 리스트 A가 2개로 나뉘어진다. 첫번째 구간은 A[:P]이며 두번째 구간은 A[P:N-1]이다. 이 두 구간의 총 합의 차이를 구..
https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 코딜리티 lesson 3 시간 복잡도에 관련된 문제를 풀었다. 리스트 A의 원소는 1부터 N+1까지의 수로 구성되어 있는데 이 중 하나의 숫자가 누락되어 있으며 이때 누락된 숫자를 찾는 문제이다. 첫번째 시도 - 실패 def solution(A): answer = '' A = sorted(A) for i in range(len(A) -1) : if A[i+1] - A[i] !=..
https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 코딜리티 lesson 3 시간 복잡도에 관련된 문제를 풀었다. x,y,d가 주어지고 개구리의 위치가 y와 같거나 클 때까지 x에 d를 몇번 더하면 되는지 푸는 문제이다. 시간 복잡도 문제이다 보니 확실히 효율성을 따져가면서 풀어야했다. lesson3에 있는 세 문제 모두 생각없이 문제흐름대로 풀었다가 전부 시간 초과를 마주했었다 ㅎ 첫번째 풀이 - 실패 def solution(..
https://app.codility.com/programmers/lessons/2-arrays/ 2. Arrays lesson - Learn to Code - Codility Rotate an array to the right by a given number of steps. app.codility.com 코딜리티에서 lesson2에 있는 두 문제를 어제 오늘 풀었다. easy라고 되어 있는데 왜 난 쉽게 풀지 못했는가... CyclicRotation 주어진 배열 A의 원소들이 K만큼 배열 A안에서 회전을 하는 문제이다. 영어로 되어 있기 때문에 제한 사항을 잘 봐야했는데 나는 제한사항을 제대로 보지 않아서 처음엔 100%가 나오지 않았다. CyclicRotation 정답 코드 def solution(..
https://app.codility.com/programmers/lessons/1-iterations/ 1. Iterations lesson - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 곧 있을 코테가 코딜리티에서 진행된다고 하여 플랫폼에 익숙해 지기 위해 코딜리티에서 문제를 풀기 시작했다. 영어로 되어 있는 사이트라 문제도 영어라서 차근차근 읽어보고 제대로 코드를 짜는 것이 가장 중요할 것 같았다. lesson 1부터 코테 전까지 최대한 많이 풀어보려고 노력해야할 것 같다. 코딜리티의 lesson 1 문제는 아래와 같다. 10진수를 2진수로 ..
https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 프로그래머스에서 간단한 문제를 하나 풀었는데 생각보다 시간을 많이 써서 버벅거렸던 부분을 기록해두면 좋을 것 같아 쉬운 문제지만 포스팅하게 되었다. 첫번째 시도(실패) - 문법 파괴왕 코린이... def solution(s): answer = '' string = sorted(s) for s in string : answer += s..
https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 프로그래머스에서 카카오 기출 문제인 '숫자 문자열과 영단어'를 풀었다. 처음엔 10가지 경우로 나눠서 if문을 만들어야 하나 생각했는데 며칠 전에 사용한 replace가 생각나서 사용해 보고자 했다. 또 딕셔너리에서 items()를 사용하면 키와 값을 모두 가져올 수 있으니 for문으로 해결할 수 있을 것 같았다. 첫번째 시도 ### 틀린 코드 ###..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 오늘도 쉬운 문제 하나 풀고 카카오 기출 레벨 1 문제를 하나 더 풀었다. '신규 아이디 추천' 문제로 문제에 나온 단계별로 차근차근 풀면 되는 문제이다. 1단계에서 7단계로 차근차근 풀면 되는 문제였고 나는 3단계에서 조금 애를 먹었다. 처음부터 for문으로 연속해서 ..이 나오는 경우를 걸러내려고 했으나 생각한대로 잘 되지 않았다. 찾아보니 repla..
https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 프로그래머스 level 01 '같은 숫자는 싫어'를 풀었다. 간단한 문제라고 생각했는데 어디서 놓치고 있는건지 자꾸 오류가 떠서 생각보다 시간을 많이 썼다... for문으로 arr를 반복하면서 인덱스 범위 오류가 나서 문자열 슬라이싱을 사용했고, 문자열 슬라이싱을 사용하면서 출력되는 타입이 다르다는 것을 놓치고 있어서 찾느라 시간을 쓴..
https://programmers.co.kr/learn/courses/30/lessons/42862# 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 오늘도 쉬운 문제 하나 풀고 프로그래머스에서 '체육복' 문제를 풀었다. 해당 문제는 탐욕 알고리즘인 그리디(greedy) 알고리즘을 사용하여 푸는 문제이다. 그리디(greedy)알고리즘은 최적해를 구하는 방법으로 여러 경우 중 하나를 결정할 때 그 순간이 최적이라고 생각되는 것을 선택하는 방식이다. 때문에 항상 최적해를 보장해주진 않지만 대부분의 경우 최적해를 ..