최's 먹공로그
https://www.acmicpc.net/problem/17281 문제요약1. N 이닝이 주어진다.2. 각 이닝 별로 타자의 상태가 주어진다.3. 1 : 안타 , 2 : 2루타 , 3 : 3루타 , 4 : 4루타 , 0 : 아웃4. 아웃이 3개 쌓이면 이닝이 종료된다.5. 타자의 순서를 바꾸면서 가장 높은 점수를 얻은 경우의 점수를 출력 문제issue1. 4번째 타자는 1번 선수로 고정2. 타순 : 1 -> 2 , 2 -> 3 .... 9 -> 13. 이닝 종료시에도 다음 이닝이 있으면 타순은 유지 해결흐름1. 각 이닝의 타자 상태를 2차원 배열에 입력 받는다.2. 4번째 타자는 1번 선수로 고정해준다.3. 4번째 타자는 1번 선수로 고정시켜주는 순열을 수행한다.4. 조건에 맞는 순열마다 경기를 진행하..
https://www.acmicpc.net/problem/14891 문제요약1. 톱니의 상태가 12시 방향부터 주어진다. (0은 N극 , 1은 S극)2. 몇번 회전할지 주어지고(K) , 회전시킬 톱니 번호와 방향(1은 시계방향 , -1은 반시계방향)이 주어진다.3. 번호에 해당하는 톱니를 A라고 하고 옆에 있는 톱니를 B라고 했을 때 돌리기 전에 옆에 있는 톱니와 맞닿은곳의 극이 다르면 A톱니의 방향과 반대로 B톱니가 회전한다.4. K번 회전이 끝난 후 1번 톱니의 12시방향이 S극이면 1점2번은 2점 , 3번은 4점 , 4번은 8점으로 해서 총 합을 출력한다. 문제 issue1. 맞닿은 곳을 어떤식으로 표현?? - 12시 방향을 0번 인덱스로 뒀을 때 톱니끼리 2번 혹은 6번이 맞닿는 곳이다.2. 회전..
https://www.acmicpc.net/problem/14499 문제요약map이 주어지고 명령어(1은 동쪽 , 2는 서쪽 , 3은 북쪽 , 4는 남쪽)와 명령어 횟수가 주어질 때주사위가 움직일 때 마다 윗면을 출력하는 문제1. 이동한 칸이 0이면 주사위의 바닥면에 쓰여 있는 수가 칸에 복사2. 0이 아이면 칸에 쓰여 있는 수가 주사위 바닥면에 복사 , 칸은 0으로3. map의 바깥으로 이동시 무시하고 다음 명령 실행 , 출력도 안함 문제 issue1. 이동할때 마다 주사위의 면 상태가 변화한다 - swap으로 해결 남쪽을 예로 들면남쪽으로 이동 : 1 -> 5 , 5 -> 6 , 6 -> 2 , 2-> 1이런식의 이동이 다른 방향으로의 이동마다 고정적임 해결흐름1. dice = {0,0,0,0,0,0..
https://www.acmicpc.net/problem/2980 문제요약1. 상근이는 1초에 1미터 움직인다.2. 신호등의 색상이 빨간색인 경우 그 자리에서 멈추고 초록색으로 바뀔때 까지 기다린다.3. 초기에는 모든 신호등의 색상은 빨간색이다.4. 상근이가 도로의 끝까지 이동하는데 걸리는 시간을 구하자. 문제issue1. 흐르는 시간이 모든 신호등의 지속시간에 영향을 주는지 해결흐름 처음 생각1. 1차원 배열에 신호등이 있는 위치를 표시2. list에 신호등의 빨간색 지속 시간, 초록색 지속 시간, 상태(빨간색?초록색?)를 저장3. 상근이의 움직임에 해당하는 변수를 증가 시켜주다가(1) 신호등이 있는 위치에서 빨간색 상태면 시간만 증가-> 상근이가 움직일 때마다 list를 모두 탐색해야 하고 list의..
https://www.acmicpc.net/problem/17143 문제요약 1. R행 , C열 , r상어의 행 , c상어의 열 , s상어의 속도 , d상어의 방향 , z상어의 크기 2. 1초동안 일어나는 일 - (1) 낚시왕이 오른쪽(열방향)으로 한 칸 이동한다 (2) 낚시왕이 있는 열에 있는 상어 중에서 땅과 가장 가까운 상어를 잡고 상어가 사라진다. 잡은 상어의 크기가 누적된다. (3) 상어가 이동한다. (4) 같은 칸에 여러마리의 상어가 있으면 크기가 가장 큰 상어빼고 다 죽는다. 문제issue 1. 상어가 이동하는 부분 구현 - (1) 다차원을 사용?? (2) list를 사용?? 해결흐름 1. 낚시왕이 오른쪽으로 이동하는 부분은 while(man =1) 동안 반복한다 r과 c를 d(방향)에 맞게..
https://www.acmicpc.net/problem/17142 문제요약 1. map의 크기 = N , 활성상태로 만들 수 있는 바이러스 수 = M , 비활성 상태 바이러스 = 2 , 빈 공간 = 0 , 벽 = 1 2. 활성상태로 만든 바이러스는 동시에 상하좌우 빈공간 또는 비활성 상태 바이러스로 퍼진다 3. 모든 빈 칸에 바이러스를 퍼뜨리는 최소 시간을 구해보자 문제issue 1. 모든 빈 칸에 바이러스가 있게 되는 최소 시간이란 비활성 상태의 바이러스도 포함한다. -> (1) 입력 받을 때 모든 빈칸을 카운트 해준다 zero_cnt (2) 활성상태의 바이러스에서 빈공간(비활성 바이러스는 제외)으로 퍼진 개수를 카운트 해준다 zero_check (3) 위 두개의 카운트를 비교했을 때 zero_cnt
https://www.acmicpc.net/problem/16235 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 ..
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=297&sca=50&sfl=wr_hit&stx=1018&sop=and 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 import java.awt.image.BufferedImage; import java.io.BufferedReader; import ..