반응형
programmers.co.kr/learn/courses/30/lessons/42576?language=python3
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(0,len(completion)) :
if participant[i] != completion[i]:
return participant[i]
return participant[-1]
먼저 배열을 정렬한 후 for문을 돌면서 같지 않은 부분을 찾는 연산을 수행하도록 코드를 짰다.
다른 사람들의 코드를 살펴보니까 zip()을 사용하면 코드의 길이는 비슷하지만 좀 더 직관적으로 코드를 짤 수 있는 것 같다
def solution(participant, completion):
participant.sort()
completion.sort()
for p,c in zip(participant, completion):
if p != c:
return p
return participant[-1]
zip()은 동일한 개수로 이뤄진 두 자료형을 순서대로 짝지어 튜플로 묶어주는 함수이다. zip()이 어떻게 사용되는지 다음 코드를 참고하면 이해가 될 것 이다.
# 예시 1번
A = ['a','b','b','c']
B = ['a','b','c']
zip(A, B) # [('a','a'), ('b','b'), ('b','c')] # 차이 발생
# 예시 2번 - 1
A = ['a','b','c','c'] # 마지막 값 (중복된 값이 맨 뒤에)
B = ['a','b','c']
zip(A, B) # [('a','a'), ('b','b'), ('c','c')]
# 예시 2번 -2
A = ['a','b','c'] # 마지막 값 (하나 다른 것이 맨 뒤에)
B = ['a','b]
zip(A, B) # [('a','a'), ('b','b')]
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Python] K번째수 - Level1 (0) | 2021.05.09 |
---|---|
[프로그래머스/Python] 실패율 (0) | 2021.05.08 |
[프로그래머스/Python] 베스트앨범 - Level3 (0) | 2021.05.05 |
[프로그래머스/Python] 위장 - Level2 (0) | 2021.05.04 |
[프로그래머스/Python] 전화번호 목록 - Level2 (0) | 2021.05.02 |