Today Sangmin Learned
728x90

링크

https://www.acmicpc.net/problem/15654

난이도(solved.ac 참고)

실버3

풀이

 

 

다르게 풀 수도 있겠지만, 나는 permutations(순열) 모듈을 불러와서 사용했다. 순열은 수학에서 nPr이다. n개 중에 r개를 뽑는 경우의 수이다.

from itertools import permutations

a = [1, 2, 3, 4]
for i in permutations(a, 2):
	print(i)

# (1, 2)
# (1, 3)
# (1, 4)
# (2, 1)
# (2, 3)
# (2, 4)
# (3, 1)
# (3, 2)
# (3, 4)
# (4, 1)
# (4, 2)
# (4, 3)

사전 순서로 증가하는 순으로 출력해야 되었기 때문에 a를 정렬한 값을 기준으로 순열을 돌렸다.

 

기본적으로 튜플의 형태로 출력이 되기 때문에 스페이스바로 값을 구분하는 것 외에 모든 요소를 무시하는 *i로 출력을 해줬다. 순열의 값이 1개일 경우에는, 그러니까 nPr에서 r이 1인 경우는 그냥 i[0]만 출력하게 했는데, 이는 값이 1개라면 (1,) 와 같은 형태로 출력이 되기 때문에 *i로도 출력이 불가능하다(두 개의 요소를 필요로 하기 때문이다). 그래서 그냥 i[0]만 출력하게 한 것이다.

profile

Today Sangmin Learned

@steadily-worked

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!