각 파트에서 못 푼 것만 리뷰
빈칸 채우기 문제 안내
빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
빈칸을 제외한 기본 코드는 수정할 수 없습니다.
빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1. 공항 방문객
def func_a(arr, n):
ret = []
for x in arr:
if x != n:
ret.append(x)
return ret
def func_b(a, b):
if a >= b:
return a - b
else:
return b - a
def func_c(arr):
ret = -1
for x in arr:
if ret < x:
ret = x
return ret
이렇게 함수가 주어지고 빈자리를 채우면 된다
def solution(visitor):
max_first = func_c(visitor)
visitor_removed = func_a(visitor, max_first)
max_second = func_c(visitor_removed)
answer = func_b(max_first, max_second)
return answer
func_a는 n빼고 리스트로 만들기
func_b는 방문객수 사이의 차이라고 이해했는데
func_c를 이해를 못해서 ret=x를 x를 -1로 만든다고 착각해버렸다
그러니 문제가 풀릴리가 ಥ_ಥ
1. func_c로 visitor를 돌려가며 더 큰 수를 찾는 걸 하고 → 최대 방문객 수
2. func_a의 n자리에 max_first를 넣어서 최대 방문객수 빼고 리스트 만들기
3. func_c로 visitor_removed를 돌려가며 더 큰 수를 찾는 걸 하고 → 두번째 많은 방문객 수
4. 마지막으로 두개를 빼서 최대와 두번째로 많은 방문객 수 사이의 차이 찾기
이게 왜 그리 어렵던지... 답을 알고나면 쉽다
디버깅(Debugging) 문제 안내
디버깅(Debugging)은 이미 완성된 코드에서 버그를 찾아 수정하는 문제 타입입니다.
1줄만 수정하여 버그를 고치세요.
2줄 이상 수정할 경우, 실행 결과에 에러 메시지가 표시됩니다.
2. 이름에 "j" 또는 "k"가 들어가는 사람
이게 기존 코드
def solution(name_list):
answer = 0
for name in name_list:
for n in name:
if n == 'j' or n == 'k':
answer += 1
continue
return answer
이게 정답 코드
def solution(name_list):
answer = 0
for name in name_list:
for n in name:
if n == 'j' or n == 'k':
answer += 1
break
return answer
이건 왜 틀렸냐...
난 5번째 줄이 문제일거라고 생각했다....
if n == 'j' or n == 'k':
이거만 뜯고 씹고 맛보다 답을 찾았는데
전혀 엉뚱한걸 괴롭히고 있었던 것이다
중간에 아주 잠깐 countinue가 문제인가 싶었는데 break를 떠올리진 못했다
이건 내가 코드를 작성하는 문제
3. k번째로 작은 수
이걸 못 푼 이유 : 내가 이런 문제에 약함...shit....
아직도 for문, append 이런거를 적재적소에 못쓴다
로직 자체는 내가 생각한 거랑 50% 정도는 일치하는데
그걸 풀어내는 능력이 없어요...
def solution(arr, k):
answer = 0
list=[]
for i in range(len(arr)):
for j in range(4):
list.append(arr[i][j])
list.sort()
answer = list[k-1]
return answer
쨋든 모의고사 하나 풀어봤으니
내일 차분하게 풀기만 하면 됨
난 항상 문제를 제대로 안보는게 문제라
차분히 생각 가다듬어 가면서 하면 잘 풀 수 있으리라 믿는다
도움받은 블로그 : https://blog.naver.com/stj1407/221467619821
COS Pro 2급 Python 모의고사 체험하기 문제 풀이 및 정답 해석 (1~5)
COS Pro 2급 Python 모의고사 체험하기 문제 풀이 및 정답 해석 (1~5) 프로그래머스 programmers 10개...
blog.naver.com
출처 : 프로그래머스, YBM
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [SQL] 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.10.12 |
---|---|
[프로그래머스] [SQL] 고양이와 개는 몇 마리 있을까 (1) | 2023.10.12 |
[프로그래머스] [Python] 자연수 뒤집어 배열로 만들기 (1) | 2023.10.06 |
[프로그래머스] [Python] 서울에서 김서방 찾기 (1) | 2023.10.06 |
[프로그래머스] [SQL] 진료과별 총 예약 횟수 출력하기 (0) | 2023.10.02 |