Python(7)
-
[BOJ] 21610 마법사 상어와 비바라기 - Python
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 항상 그렇듯 삼성 구현 문제는 꼼꼼히 구현만 잘 하면 된다. 없어질 구름과 생긴 구름을 잘 관리해 주면 된다. from collections import deque N, M = map(int, input().split()) dx = [0, 0, -1, -1, -1, 0, 1, 1, 1] dy = [0, -1, -1, 0, 1, 1, 1, 0, -1] arr = [list(map(int, i..
2021.10.18 -
[BOJ] 14503 로봇 청소기 - Python
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 이런 문제는 그냥 bfs로 구현하는 거보다 while문 하나로 끝내는게 더 직관적인듯. 그냥 문제에 나와있는 조건별로 구현하면 된다. dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] # 북 동 남 서 N, M = map(int, input().split()) r, c, d = map(int, input().split()) arr = [] for i in range(N): ar..
2021.09.23 -
[BOJ] 19238스타트 택시 - Python
https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 전형적인 삼성 코테문제 bfs 문제로 해결하면 되는데, 조건을 유의해 줘야한다. 현재 위치에서 최단거리가 가장 짧은 승객, 그런 승객이 여러 명이면 행 번호가 가장 작은 승객, 그런 승객도 여러명이면 열번호가 가장 작은 승객. 이 조건만 유의해 가면서 문제를 풀면 된다. findPeoplebfs에서 heap에다가 넣어주면서 위 조건을 모두 만족시키도록 했다...
2021.09.23 -
[Python] 파이썬 리스트(List) 정렬
먼저 리스트 자료구조에서 sort 멤버 함수를 호출하면 작은 값이 앞으로, 큰 값이 뒤로 오는 "오름차순" 정렬이 기본이다. 여기서 인자로 reversed=True 를 주면 반대로 정렬되는 것. li = [3,1,4,5] li.sort() # [1,3,4,5] li.sort(reverse=True) # [5,4,3,1] 그리고 sort() 함수의 리턴은 None 이라서 값으로 받아올 때 쓰면 안된다. li = [1,5,3,2] res = li.sort() # None 이 들어감 sort 함수의 인자로 key 를 줄 수 있는데, 이 key에 해당하는 값을 기준으로 정렬을 해주겠다는 것이다. key에다가는 함수를 넣어줄 수 있다. "len" 같은 값을 넣어도 된다. res = [[5,2,1],[4,3,2]..
2021.09.16 -
[BOJ] 1938 통나무 옮기기 - Python
https://www.acmicpc.net/problem/1938 1938번: 통나무 옮기기 첫째 줄에 주어진 평지의 한 변의 길이 N이 주어진다. (4
2021.08.24 -
[BOJ] 4811 알약 - Python
https://www.acmicpc.net/problem/4811 4811번: 알약 입력은 최대 1000개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄이며, 병에 들어있는 약의 개수 N ≤ 30 가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다. www.acmicpc.net DP 문제이다. 첨에는 생각이 나지않아 안풀렸지만 종이를 가져와서 적어보았다 먼저 W랑 H는 무조건 한 세트여야 하고, W가 한개가 나와야 H가 나올 수 있음을 기억하자. 2 개가 있으므로 2차원 배열을 선언했다. 세로 컬럼은 W, 가로 행은 H로 두고 각각의 숫자는 나온 개수라고 하자. 그러면 H가 1이고 W 가 0일 수는 없다. 그래서 먼저 W가 1일때를 보자 W H 0 1 2 3 0 0 1 1 x 2 3 여..
2021.08.15