시뮬레이션

📖 문제 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 문제에서 하라는 대로 하면 된다... 🔺 코드 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 ..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 a의 길이가 기니까 풍선 갯수(n)를 늘려가며 규칙성을 찾아보자.. - n이 1이면, 무조건 풍선이 하나 남으므로 1 반환 - n이 2면, 2가지(1번 풍선이 작고 2번 풍선이 큰 경우 / 1번 풍선이 크고 2번 풍선이 작은 경우)이므로 낮은 풍선 터트리는 기회를 사용하지 않고 2 반환 - n이 3이면, 가운데 풍선을 기준으로 4가지 경우의 수로 나눈다. ㄴ 가운데 풍선 기준, 왼쪽은 작고 오른쪽은 큰 경우 ㄴ 가운데 풍선 기준, 왼쪽은 크고 오른쪽은 작은 경우 ㄴ 가운데 풍선 기준, ..
📖 문제 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 1. 원본 지도 origin과 값을 변경할 지도 map에 값을 입력받으면서, 큐에 땅(X)의 위치를 저장한다. (원본 지도 origin 따로 저장해두는 이유 : 나중에 땅 인근이 바다인지 아닌지 판단할 때 변경된 값으로 판단하면 안 되므로) 2. 모든 땅의 위치를 돌며, 인접한 3면 이상이 바다로 둘러싸였다면 잠기게 만들고, 잠기지 않았다면 현재 (행,열)의 값과 땅이 위치하는 최소/최대 행/열 인덱스를 비교해 갱신한다. 3. 2에서 구한 (최소 행 ~ 최대 행) (최소 열 ~ 최대 열)에 위치..
📖 문제 8911번: 거북이 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 컨트롤 프로그램이 주어진다. 프로그램은 항상 문제의 설명에 나와있는 네가지 명령으로만 이루어져 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 가장 멀리 위치한 두 점을 구하기 위해, 가장 작은 x와 y, 가장 큰 x와 y를 구한다. 그리고 Math.abs(maxX - maxY) * (minX - minY) 한 결과를 구해 출력한다. 🔺 코드 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..
📖 문제 14594번: 동방 프로젝트 (Small) 첫 번째 행동으로 1번과 2번 방이 합쳐져 (1, 2), (3), (4), (5) 상태가 된다. 이후 두 번째 행동으로 2, 3, 4번 방이 합쳐져 (1, 2, 3, 4), (5)의 상태가 된다. 따라서 남아있는 동방의 수는 2가 된다. www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 필요 자료구조 - 1부터 N-1까지의 벽 상태를 나타낼 boolean형 배열 (true: 벽 허물어짐 / false: 벽 있음) 방이 N개면, 벽의 갯수는 N-1개다. (예 : O를 동방, |를 벽이라 할 때, O|O|O|O|O ⇒ 동방이 5개면, 벽은 동방-1개인 4개) 그러므로 1~N-1 까지의 벽의 상태를 나타내는 1차원 boolean형 배열을 사용한..
📖 문제 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 1. d 방향으로 s만큼의 구슬을 제거한다. 2. 사라진 구슬들이 있으니 구슬들을 이동시킨다. 3. 4개 이상 이어지는 구슬이 있나 확인한다. 존재한다면, 구슬들을 제거하면서 sum에 더한다. 4. 구슬들이 사라지며 생긴 빈 공간을 메꾼다. 4개 이상 이어지는 구슬이 없을때까지 3-4과정을 반복한다. 5. 연속되는 번호의 구슬, 개수에 따라 판을 재배치한다. 💥 유의사항 개빡센 구현 ,,,,,,,, 🔺..
📖 문제 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 필요 자료구조 - 파이어볼 이동 시 정보 (2차원 ArrayList 배열 !!) - 모든 파이어볼 정보 저장할 ArrayList 1. 파이어볼 정보 저장용 리스트에 파이어볼 정보를 저장한다. 2. K번 이동시키고, 파이어볼을 분열시킨다. 2-1) [파이어볼 이동] 반복문을 통해 리스트에 있는 파이어볼들의 위치를 이동시키고, 파이어볼 이동 시 정보를 나타내는 2차원 리스트 배열 ma..
📖 문제 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 문제에 주어진 조건 그대로 구현하면 된다. 필요 자료구조 - 8방향 저장 dx/dy 배열 - 구름인 적 있었는지 나타내는 boolean형 방문 표시 배열 - 구름 위치 저장용 큐 💥 유의사항 1단계, 구름을 이동시키는 단계에서는 배열의 행과 열의 끝끼리 연결되어 있게 해야 한다. 이 때 인덱스에 유의해야 한다. c[0] = (N + c[0] + dx[d] * (s % N)) % N; c[1] = (N + c[1]..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 구현, 시뮬레이션 1. 시작점 위치 S를 저장한다. 2. routes 배열을 돌면서 격자 범위를 벗어나지 않고, 장애물 X가 아니면 이동시킨다. 💥 유의사항 - 현재 있는 위치의 행과 열 위치를 옮기는 것이 아니고, 이 값을 복사한 임시변수를 이동시켜본다. - 한 번에 n칸 바로 이동시키는 게 아니고, 1부터 n까지 이동시켜보면서 n 칸 옆으로 이동시킬 수 있으면 (flag == true) 임시변수의 값을 현재 위치의 값으로 저장하는 것이다,, 🔺 코드 1 2 3 4 5 6 7 8 ..
imname1am
'시뮬레이션' 태그의 글 목록 (2 Page)