목록데이터 분석/Coding Test (106)
Data Analyst KIM
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6S8RM/btsoz7Bjztu/0afNk9CQFam5JPsmPGKFu1/img.png)
[Coding Club] 23.07.21(프로그래머스-과일 장수) 1. 과일 장수 문제 접근법 나 : 길이를 활용하여 문제 해결 순범 : 인덱스를 활용하여 문제 해결 승호 형 : 길이를 활용하여 문제 해결 순범이의 코드는 정말 깔끔한 것같다. 처음에는 이해가 조금 어려웠지만 이해하고 난 후, '어떻게 이렇게 생각을 했을까?'라는 말이 나왔다. 앞으로 나도 이런 코드를 작성하기 위해서 조금 더 열심히 생각을 해봐야겠다. # 내 코드 def solution(k, m, score): answer = 0 score = sorted(score, reverse =True) for i in range(0, len(score),m): lst = score[i:i+m] if len(lst) == m : answer +=..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btMtsn/btsogenrKO1/74Lp5QMy0ky2uhtBou7gY1/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 pop을 이용해서 리스트를 하나 만들어서 처음에 2개의 열을 추출해서 비교한 후 리셋해주면서 작업을 하는 방식으로 코딩을 했는데 생각보다 잘 안됨 그래서 다른 방법을 생각해보다가 리스트를 만들지 않고 결국은 모두 묶음으로 만들고 m과 개수가 같은 것만 min값을 구함. def solution(k, m, score): answer = 0 score = sorted(score, reverse =True) for i in range(0, len(score),m): lst = score[i:i+m] if l..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vsB19/btsnFdXmMnf/xAMnSm2hfazg6mGMn99aGk/img.png)
[Coding Club] 23.07.14 1. 다트 게임 나 : 두개의 리스트를 만들어서 처리 순범 : 한개의 리스트만 만들고 기존의 dartResult에 마지막을 공백을 추가 내 코드가 돌아가긴 하지만 마지막에 공백처리를 하는 것이 맞다고 생각한다. 그리고 굳이 두개의 리스트를 만들지 않고도 작업이 가능하다는 것을 알게됨 # 내 코드 def solution(dartResult): answer = [] score = [] list_dart = list(dartResult) for i in range(len(list_dart)): if list_dart[i] == "1" and list_dart[i+1] =="0" : score.append('10') elif list_dart[i] == "0" and l..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfLadL/btsnwQHxemp/PR0CsjkF3vV5Ok3Ym9PCw1/img.png)
1. dartResult를 리스트로 변환시키고 숫자와 숫자가 아닌 것을 분리하고자 했다. 2. 0~10인데 10은 두자리 수를 가지므로 조건문을 이용하여 처리를 해야겠다고 생각했다. 3. 조건에 맞게 분리를 해서 일단 list에 저장했다. 4. 리스트에서 문제의 규칙을 따라서 순차적으로 작업했다. def solution(dartResult): answer = [] score = [] list_dart = list(dartResult) for i in range(len(list_dart)): if list_dart[i] == "1" and list_dart[i+1] =="0" : score.append('10') elif list_dart[i] == "0" and list_dart[i-1] =="1" : ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cf48eF/btsnrvCF6AM/nwlkn71XuR5gFW2rfi51n0/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근법 1. section에서 처음 덧칠 할 구간에서부터 m만큼 덧칠을 한다. 그리고 answer에 1을 더해준다 2. 두번째 인덱스의 해당 값이 1번째에서 덧칠이 되었는지 되지 않았는지 if문을 통해 확인한다. 3. 다음과 같은 작업을 반복한다. def solution(n, m, section): answer = 0 paint = 0 for i in section : if i > paint : paint = i + m -1 answer += 1 return answer
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmsGGx/btsnK9sDn2W/0M78SPbQQTSgUyrcZNByik/img.png)
일시 : 23.07.07 시간 : 07:30~08:00 문제 : 카드 뭉치,대충 만든 자판 다음 주 과제 : 덧칠하기, 다트 1. 카드 뭉치 나 : 조건에 해당하면 인덱스 숫자를 더해서 처리하는 방식 순범 : 조건에 해당 되면 인덱스를 제거하는 방식 승호 형 : 조건에 해당 되면 인덱스를 제거하는 방식 신영 : 리스트를 활용하여 인덱스의 순서에 따라서 패널티를 부여하는 방식 인덱스의 숫자를 더하거나 제거하거나 패널티를 부여하여 푸는 방식으로 풀 수 있었다. 내 생각에는 인덱스의 숫자를 더하거나 제거하는 방식이 가장 깔끔하다고 생각한다. 하지만 그렇다고 패널티를 부여하는 방식이 잘 못 된것은 아니다. 정말 신선했다. 이렇게 문제를 풀 수 있을 것이라고는 상상을 하지 못했다. 항상 신영이의 코드를 보면 고민..