전체 글

알고리즘(백준)/구현

[알고리즘/구현] 20055번 : 컨베이어 벨트 위의 로봇 - python

링크 : https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 문제 소요시간: 29분 10초(디버깅 : 1시간 10분) 설계하기(접근방법) 1. 입력하기 컨베이어벨트의 길이, 중단 개수 내구도 리스트를 입력받는다 2.구현하기 덱으로 풀면 더 쉽겠지만 덱이 익숙하지 않아서 리스트로 풀었다 또한 로봇이 있는지 없는지 체크하기 위해서 원래 리스트에다가 이중배열로 선언해서 로봇이 없으면 0 있으면 1로 표시한다 1 - 1) 한 칸 회전..

알고리즘(백준)/구현

[알고리즘/구현] 2563번 : 색종이 - python

링크 : https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제 소요시간: 25분(초과) 설계하기(접근방법) 1. 입력받기 조건에 맞게 입력받는다 2. 구현하기 구현 자체가 어렵지 않다 [0] 이 100개 들어간 리스트 100개를 생성한다 그 후 좌표를 입력받고 x 축 좌표 + 10 y 축 좌표 + 10까지 0을 1로 바꿔준다 3. 출력하기 리스트 내의 1의 개수를 더하고 출력한다 코드(출력) paper = int(input()) sheet = [[..

알고리즘(백준)/구현

[알고리즘/구현] 14503번 : 로봇 청소기 - python

링크 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 문제 소요시간: 47분 구현, 디버깅 12분(성공?) 설계하기(접근방법) 1. 입력받기 크게 다른 점은 없다 2. 구현하기 구현할 내용이 상당히 많다 문제의 요구사항에 맞게 구현만 하면 된다 이중 배열과 While 문, break, continue를 통해 흐름을 제어해준다 3. 출력하기 청소한 구역의 횟수를 출력한다 코드(출력) n , m..

알고리즘(백준)/구현

[알고리즘/구현] 1138번 : 한 줄로 서기 - python

링크 : https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 문제 소요시간: 19분 41초 설계하기(접근방법) 1. 입력받기 int와 list를 입력받는다 2. 구현하기 list가 [3,2,1,1,0]일 때 list는 키가 1, 2, 3, 4, 5 인 사람들의 정보가 들어있다 그 정보는 각각 사람 앞에 자기보다 키 큰 사람이 몇이나 있는지에 대한 정보다. 일단 1인 사람은 모든 사람이 자기보다 크니 해당하는 3 + 1 번째에 넣어주면 된다 ..

알고리즘(백준)/구현

[알고리즘/구현] 20006번 : 랭킹전 대기열 - python

링크 : https://www.acmicpc.net/problem/20006 20006번: 랭킹전 대기열 모든 생성된 방에 대해서 게임의 시작 유무와 방에 들어있는 플레이어들의 레벨과 아이디를 출력한다. 시작 유무와 플레이어의 정보들은 줄 바꿈으로 구분되며 레벨과 아이디는 한 줄에서 공백 www.acmicpc.net 문제 소요시간: 35분 10초 설계하기(접근방법) 1. 입력받기 종료 조건이 없으므로 try: while True except EOFError 을 사용해서 파일의 입력이 끝났을 경우 종료를 해준다 원래 방을 만드려면 조건을 비교하여 만들어주어야 하지만 아직 첫 방이 생성되지 않았기 때문에 처음 입력은 그냥 방을 만들어준다 2. 구현하기 레밸과 닉네임을 입력받는다 첫 방과 레벨을 비교한다, 만..

알고리즘(백준)/구현

[알고리즘/구현] 2852번 : NBA 농구 - python

링크 : https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1 team_1_score: winning_team = 2 else: winning_team = 0 team_1_min, team_1_sec = team_1_win_time // 60 ,team_1_win_time % 60 team_2_min, team_2_sec = team_2_win_time // 60 , team_2_win_time % 60 team1_total = print(f'{team_1_min:02d}:{team_1_sec:02d}') team2_total = print(f'{team_2_min:02d}:{team_2_sec:02d}') 얻어갈 부분 1. 구현 ..

알고리즘(백준)/구현

[알고리즘/구현] 10709번 : 기상캐스터 - python

링크 : https://www.acmicpc.net/problem/10709 10709번: 기상캐스터 출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시 www.acmicpc.net 문제 소요시간: 22분 50초 설계하기(접근방법) 1. 입력받기 H,W를 입력받는다 H는 반복될 출력의 개수 W는 입력받는 리스트의 원소의 개수로 생각하면 된다 2. 구현하기 리스트를 순회하면서 c가 나오기 전이라면 -1을 출력하다가, c가 나오면 0을 출력하고, 그 후에는 1씩 증가하면서 출력한다 1, 2.. 만약 새로운 c가 나온다면 다시 0을 출력하..

알고리즘(백준)/구현

[알고리즘/구현] 1205번 : 등수 구하기 - python

링크 : https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 문제 소요시간: 30분(실패) 설계하기(접근방법) 1. 입력받기 map 함수로 입력을 받은 후 n이 0이 이상일 경우에는 랭크를 구하고, 아닐 경우는 1을 출력한다 2 구현하기 태수의 점수를 리스트의 0 번째 원소부터 비교하여 더해 나가기 시작한다. 1 이라는 rank를 넣어두고, 만약 1번째 원소보다 크면, 즉시 랭크를 출력한다 만약 같은 점수와 마주친 경우..

되다
코드테일