갬미의 성장일기

[이것이 코딩테스트다] 6일차 - 백준 치킨배달 본문

Algorithm/Algorithm Study

[이것이 코딩테스트다] 6일차 - 백준 치킨배달

갬미 2021. 12. 6. 02:37

본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다.

Chapter 4 구현 알고리즘 문제 풀이(3)

오늘 풀이한 문제는 다음이다

[ 백준 15686 ] 치킨 배달 

 

15686번: 치킨 배달

크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸

www.acmicpc.net

파이썬 라이브러리 중 하나인 itertools를 알고 있다면 무난히 풀 수 있는 문제인 것 같다

## Python3 itertools
# 순열, 조합, 곱집합 구하기

from itertools import permutations, combinations, product

items = ['1', '2', '3', '4', '5']
# 순열
print (list(permutations(items,2))) ## permutations(조합을 만들고자 하는 리스트, 조합 내 숫자의 수)
# [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '1'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '1'), ('3', '2'), ('3', '4'), ('3', '5'), ('4', '1'), ('4', '2'), ('4', '3'), ('4', '5'), ('5', '1'), ('5', '2'), ('5', '3'), ('5', '4')]

# 조합
print (list(combinations(items,2)))
# [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '4'), ('3', '5'), ('4', '5')]

## 두개 이상의 리스트의 모든 조합
items = [['a', 'b', 'c,'], ['1', '2', '3', '4']]
print (list(product(*items)))
## [('a', '1'), ('a', '2'), ('a', '3'), ('a', '4'), ('b', '1'), ('b', '2'), ('b', '3'), ('b', '4'), ('c,', '1'), ('c,', '2'), ('c,', '3'), ('c,', '4')]

 

구현 연습문제 풀이는 깃허브에 업로드하였습니다 

 

GitHub - gymin97/algorithm_study: Solve the algorithm problems (python3)

Solve the algorithm problems (python3). Contribute to gymin97/algorithm_study development by creating an account on GitHub.

github.com

 

Comments