본문 바로가기

분류 전체보기12

[python] 14890 - 경사로 https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 정답률 55.699% 난이도 골3 경우의 수 잘 나눠야함(경사로 못치는 경우 잘 생각하기) + 열 검사하기 귀찮아서 입력값을 행과 열 바꿔서 다른 배열에 저장해놓은 뒤, 행 검사 함수에 넣음 코드 설명 ※ 주의할 점 높이가 1 감소하는 경우 중 같은 높이의 블럭이 L개 나오기 전에 라인이 끝날 때 높이가 1 감소하는 경우에서 이미 경사로 놓은 곳에 높이 1 증가하는 경우로 경사로 다시 놓기 (ex. 3 3 2 2 3 3.. 2022. 9. 2.
(기출x)[python] 10825 - 국영수 https://www.acmicpc.net/problem/ 정답률 52.136% 난이도 실4 python3로 제출할 때 input 받는 데에 오래걸려서 시간초과 뜸 -> sys사용하거나 pypy3로 제출 코드 설명 import sys input = sys.stdin.readline N = int(input()) stu = [] for i in range(N): name, kor, eng, math = map(str, input().split()) stu.append([name, int(kor), int(eng), int(math)]) stu.sort(key = lambda x: (-x[1], x[2], -x[3], x[0])) # 내림차순, 오름차순, 내림차순, 오름차순 for i in range(N):.. 2022. 9. 2.
[프로그래머스] 블록 이동하기 - python https://school.programmers.co.kr/learn/courses/30/lessons/60063?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 회전을 같이 생각하는 게 너무 까다로운 문제.. 코드 설명 from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def get_next_pos(pos, board, N): pos1, pos2 = pos (pos1x, pos1y), (pos2x, pos2y) = pos1, pos2 npos = [] #.. 2022. 9. 1.
[python] 16234 - 인구 이동 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 정답률 36.050% 난이도 골5 80%에서 시간초과 오지게 남.. 최적화된 bfs가 필요 코드 설명 1. 입력 받기 2. bfs 3. 그룹 생성되면 인구 이동 ※ 주의할 점 처음 검사할 때 모든 칸을 다 조사할 필요 x 한 점에서 사방으로 관계를 조사하기 때문에 격자로 검사 두번째 날부터는 전날 그룹생성되었던 점들만 검사(숫자 바뀐 부분만 검사하면 되니까) visited에 date.. 2022. 8. 31.