구현

Algorithem/프로그래머스 PS with code

[python3] 퍼즐 조각 채우기 lv.3 : 구현

빡센 구현이었습니다... 이거보다 쉽게 풀 수 있는 방법이 있을 것 같은데.. 다른 분들의 코드는 추후에 구경하도록 하겠습니다. 아이디어 구현이 복잡한만큼 수도코드를 꼼꼼하게 작성해서 함수를 잘 나눠서 사용할 필요가 있을 것 같습니다. 제가 접근한 단계는 다음과 같습니다. game_board 와 table 에서 각각 블록을 추출하여 배열에 담는다. 판에서 dfs를 돌면서 추출한다. game_board는 0을 추출, table 은 1을 추출해야하므로 함수화하면서 추출 숫자를 지정할 수 있게 한다. output : [블룩1, 블록2, ... ] 블록1 = [좌표1, 좌표2, ... ] 블록의 좌표들을 그 블록에 꼭 맞는 가로세로를 가진 직사각형 맵 위에 있는 것 처럼 좌표를 수정한다. table의 블록들을 ..

Algorithem/백준 PS with code

백준 #20056 - [G4] 마법사 상어와 파이어볼 : 구현

(python3) 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 차근차근 구현하기 특별한 방법론 없이 차근차근 구현해주었습니다. r,c 가 0부터 시작하게 바꿔주었고, 파이어볼 정보는 단순 list 로 관리하면서 파이어볼을 합칠때만 잠시 dict 에 옮겨주었습니다. 자세한 사항은 주석으로 남겼습니다. 코드 import sys def solution(input) : N,M,K = list(map(int,input().split())) fire_ball = [] # (r,c..

Algorithem/백준 PS with code

백준 #21608 - [G5] 상어 초등학교 : 구현

(python3) 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net best spot 찾기 우선순위를 가지는 조건이 여러 개라 차근차근 처리해주면 될 것 같습니다. 마지막 조건이 r,c가 작은 순서이므로 조건 우선순위대로 탐색하고, 동점의 경우 먼저 나온 칸을 best 로 유지시켜줬습니다. 이렇게 탐색하면 4점은 나오는 즉시 최종 best 가 됩니다. 만족도 계산하기 매 칸마다 그 학생이 좋아하는 학생 번호를 찾아야하기 때문에, 좋아하는 사람 정보의 경우 학생 번호를 key 로 관리해줄 필요가 있습..

Algorithem/백준 PS with code

백준 #21610 - [G5] 마법사 상어와 비바라기 : 구현

(python3) 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 단계 분리해서 작성하기 단순 시뮬레이션 구현이라 특별한 접근법이 있지는 않습니다. 복잡한 단계들을 쪼개서 구현하면 접근하기가 쉽습니다. 문제에서 주어진 단계별로 함수를 분리해서 구현했습니다. 코드 def solution(input) : N,M = list(map(int,input().split())) wmap = [] for _ in range(N) : wmap.append(list(map(int,input().split()))) GO ..

Algorithem/백준 PS with code

백준 #17779 - [G3] 게리맨더링 2 : 구현, 브루트포스

(python3) 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 케이스 분리 특별한 알고리즘은 없었고, 모든 경우의 수를 케이스 분리해서 해결했습니다. 구현에만 집중해서 중첩이 너무 많습니다. 그닥 매력적인 풀이는 아닌 것 같네요.. d1, d2, x, y 의 조건을 문제에서 줬기 때문에 거기에 맞춰서 작성했고, 문제에서는 x,y 를 1부터 시작하는 인덱스로 제시해서 그 부분만 0부터 시작하는 인덱스로 바꿔서 적용해줬습니다. 코드 def solution(input) : # 입력 받기 N = int(input().s..

Algorithem/백준 PS with code

백준 #14503 - [G5] 로봇 청소기 : 구현

14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net (python3) 문제 해석 구현은 단순한데, 문제 해석을 직관적으로 하면 안됩니다. 작동 방식을 잘 따라가야... 주변에 1칸이라도 청소할 수 있는 곳이 있으면 일단 반시계 방향으로 90도 회전해야합니다. 바로 앞이 청소 안한 영역이더라도 직진하면 안되고, 일단 회전해야합니다. 그리고 주어지는 방향 값은 0,1,2,3 이 시계방향이고, 회전 방향은 반시계방향이니 이점도 유의해서 코딩하도록 합시다 구현 내용은 주석..

jamong5
'구현' 태그의 글 목록