시뮬레이션
-
프로그래머스 월간 코드 챌린지 시즌 1 삼각 달팽이 Level 2 삼각 달팽이 문제 정리 정수 n이 주어진다. 밑변의 길이와 높이가 n인 삼각형이 있다. 이 삼각형에서 맨 위 꼭짓점부터 반시계 방햐야으로 달팽이 채우기를 진행 한다. 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 한다. 문제 풀이 n이 최대 1000이므로 시뮬레이션 처럼 돌린다. 백준의 마법사 상어와 토네이드와 비슷한 방식으로 풀었다. 달팽이 모양으로 움직이기 위한 방향은 세가지가 있다.(아래, 오른쪽, 왼쪽 위 대각선) 이를 각각 구현한다. 단계 마다 이동해야 하는 step수를 steps 배열에 담는다. 예를들어 n이 4 이면 3(아래 이동), 3(오른쪽 이동), 2(대각선 이동), 1(아래 이동) 이동하게 된다..
[배열] 프로그래머스 월간 코드 챌린지 시즌1 2번 : 삼각 달팽이 자바 풀이프로그래머스 월간 코드 챌린지 시즌 1 삼각 달팽이 Level 2 삼각 달팽이 문제 정리 정수 n이 주어진다. 밑변의 길이와 높이가 n인 삼각형이 있다. 이 삼각형에서 맨 위 꼭짓점부터 반시계 방햐야으로 달팽이 채우기를 진행 한다. 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 한다. 문제 풀이 n이 최대 1000이므로 시뮬레이션 처럼 돌린다. 백준의 마법사 상어와 토네이드와 비슷한 방식으로 풀었다. 달팽이 모양으로 움직이기 위한 방향은 세가지가 있다.(아래, 오른쪽, 왼쪽 위 대각선) 이를 각각 구현한다. 단계 마다 이동해야 하는 step수를 steps 배열에 담는다. 예를들어 n이 4 이면 3(아래 이동), 3(오른쪽 이동), 2(대각선 이동), 1(아래 이동) 이동하게 된다..
2020.11.06 -
BOJ 20056번 마법사 상어와 파이어볼 자바(java) 풀이 랭크 : 골드5 백준 20056번 마법사 상어와 파이어볼 문제 정리 NxN 크기의 격자 파이어볼 M개 i번 파이어볼의 위치(r, c), 질량 m, 방향 d, 속력 s 격자의 번호는 1~N 1번 행은 N번과 연결/ 1번 열은 N번 열과 연결 파이어볼은 8개의 방향을 가짐 파이어볼은 다음과 같이 이동한다. 7.1 자신의 방향 d로 속력 s 만큼 이동 7.2 이동이 끝난 뒤, 2개 이상의 파이어볼이 같은 칸에 있으면 다음 일이 일어남 - 같은 칸의 파이어볼은 모두 하나로 합쳐짐 - 파이어볼이 4개로 나누어짐 - 나누어진 파이어볼의 질량, 속력, 방향이 바뀜 - 질량이 0인 파이어볼은 소멸 K번 명령 후, 남아있는 파이어볼의 질량의 합 구하기 전체..
[시뮬레이션] 백준 20056번 마법사 상어와 파이어볼 :: 삼성 sw 역량 테스트 기출 (java)BOJ 20056번 마법사 상어와 파이어볼 자바(java) 풀이 랭크 : 골드5 백준 20056번 마법사 상어와 파이어볼 문제 정리 NxN 크기의 격자 파이어볼 M개 i번 파이어볼의 위치(r, c), 질량 m, 방향 d, 속력 s 격자의 번호는 1~N 1번 행은 N번과 연결/ 1번 열은 N번 열과 연결 파이어볼은 8개의 방향을 가짐 파이어볼은 다음과 같이 이동한다. 7.1 자신의 방향 d로 속력 s 만큼 이동 7.2 이동이 끝난 뒤, 2개 이상의 파이어볼이 같은 칸에 있으면 다음 일이 일어남 - 같은 칸의 파이어볼은 모두 하나로 합쳐짐 - 파이어볼이 4개로 나누어짐 - 나누어진 파이어볼의 질량, 속력, 방향이 바뀜 - 질량이 0인 파이어볼은 소멸 K번 명령 후, 남아있는 파이어볼의 질량의 합 구하기 전체..
2020.10.29 -
BOJ 16236번 아기 상어 문제 자바(java) 풀이 랭크 : 골드5 백준 16236번 아기 상어 문제 정리 NxN 크기의 공간 M마리의 물고기 아기 상어 1마리 한 칸에는 물고기가 최대 1마리 존재(없거나 1마리) 초기 아기상어의 크기는 2 1초에 상하좌우 한 칸씩 이동 자신의 크기보다 큰 물고기가 있는 칸 제외 모든 칸 지나갈 수 있음 자기보다 작은 물고기 먹을 수 있음, 크기 같으면 지나만 갈 수 있음 이동 결정 알고리즘 더 이상 먹을 수 있는 물고기가 없으면 엄마에게 도움을 청함 먹을 수 있는 물고기가 1마리면 그 물고기를 먹으러 감 먹을 수 있는 물고기가 1마리 보다 많다면, 거리가 가장 가까운 물고기를 먹으러 감 거리: 아기 상어가 있는 칸에서 물고기가 있는 칸으로 이동할 때, 지나야하는 ..
[BOJ] 삼성 sw 역량 테스트 기출 :: 16236번 아기 상어 (java)BOJ 16236번 아기 상어 문제 자바(java) 풀이 랭크 : 골드5 백준 16236번 아기 상어 문제 정리 NxN 크기의 공간 M마리의 물고기 아기 상어 1마리 한 칸에는 물고기가 최대 1마리 존재(없거나 1마리) 초기 아기상어의 크기는 2 1초에 상하좌우 한 칸씩 이동 자신의 크기보다 큰 물고기가 있는 칸 제외 모든 칸 지나갈 수 있음 자기보다 작은 물고기 먹을 수 있음, 크기 같으면 지나만 갈 수 있음 이동 결정 알고리즘 더 이상 먹을 수 있는 물고기가 없으면 엄마에게 도움을 청함 먹을 수 있는 물고기가 1마리면 그 물고기를 먹으러 감 먹을 수 있는 물고기가 1마리 보다 많다면, 거리가 가장 가까운 물고기를 먹으러 감 거리: 아기 상어가 있는 칸에서 물고기가 있는 칸으로 이동할 때, 지나야하는 ..
2020.10.22 -
BOJ 17144 미세먼지 안녕! 자바(java) 풀이 랭크 : 골드5 백준 17144 미세먼지 안녕! 문제 정리 집의 크기 RxC 공기 청정기는 항상 1번 열에 설치, 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있다. 1초 동안 다음고 같은 일이 일어난다. ㄱ. 미세먼지 확산. 미세먼지가 있는 모든 칸에서 동시에 일어남 네 방향으로 확산 공기청정기가 있거나 칸이 없으면 확산 X 확산 되는 양은 A(r,c) / 5 (소수점 버림) (r,c)에 남은 미세먼지의 양은 A(r,c) - ( A(r,c)/5 )x 확산된 방향의 개수 ㄴ. 공기 청정기 작동 위쪽 공기 청정기의 바람은 반시계 방향 순환, 아래쪽 공기청정기의 바람은 시계방향 순환 바람이 불면 미세먼지가 바람의 방향대로 모두 ..
[BOJ] 삼성 sw 역량 테스트 기출 :: 17144번 미세먼지 안녕! (java)BOJ 17144 미세먼지 안녕! 자바(java) 풀이 랭크 : 골드5 백준 17144 미세먼지 안녕! 문제 정리 집의 크기 RxC 공기 청정기는 항상 1번 열에 설치, 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있다. 1초 동안 다음고 같은 일이 일어난다. ㄱ. 미세먼지 확산. 미세먼지가 있는 모든 칸에서 동시에 일어남 네 방향으로 확산 공기청정기가 있거나 칸이 없으면 확산 X 확산 되는 양은 A(r,c) / 5 (소수점 버림) (r,c)에 남은 미세먼지의 양은 A(r,c) - ( A(r,c)/5 )x 확산된 방향의 개수 ㄴ. 공기 청정기 작동 위쪽 공기 청정기의 바람은 반시계 방향 순환, 아래쪽 공기청정기의 바람은 시계방향 순환 바람이 불면 미세먼지가 바람의 방향대로 모두 ..
2020.10.21 -
BOJ 17140번 이차원 배열과 연산 문제 자바(java) 풀이 랭크 : 골드4 백준 17140번 이차원 배열과 연산 문제 정리 크기가 3x3인 배열 A 1초마다 배열에 연산 적용 R연산: 배열 A의 모든 행에 대해서 정렬을 수행. 행 >= 열 C연산: 배열 A의 모든 열에 대해서 정렬을 수행. 행 < 열 각각의 수가 몇 번 나왔는지 알아야 함. 수의 등장 횟수가 커지는 순으로 정렬 그러한 것이 여러가지이면 수가 커지는 순으로 정렬 정렬된 결과를 배열에 넣을 때는, 수와 등장 횟수를 모두 넣으며, 순서는 수가 먼저 R 연산이 적용된 경우에는 가장 큰 행을 기준으로 모든 행의 크기가 변함 C 연산이 적용된 경우에는 가장 큰 열을 기준으로 모든 열의 크기가 변함 행 또는 열의 크기가 커진 곳에는 0이 채워..
[BOJ] 삼성 sw 역량 테스트 :: 17140번 이차원 배열과 연산 (java)BOJ 17140번 이차원 배열과 연산 문제 자바(java) 풀이 랭크 : 골드4 백준 17140번 이차원 배열과 연산 문제 정리 크기가 3x3인 배열 A 1초마다 배열에 연산 적용 R연산: 배열 A의 모든 행에 대해서 정렬을 수행. 행 >= 열 C연산: 배열 A의 모든 열에 대해서 정렬을 수행. 행 < 열 각각의 수가 몇 번 나왔는지 알아야 함. 수의 등장 횟수가 커지는 순으로 정렬 그러한 것이 여러가지이면 수가 커지는 순으로 정렬 정렬된 결과를 배열에 넣을 때는, 수와 등장 횟수를 모두 넣으며, 순서는 수가 먼저 R 연산이 적용된 경우에는 가장 큰 행을 기준으로 모든 행의 크기가 변함 C 연산이 적용된 경우에는 가장 큰 열을 기준으로 모든 열의 크기가 변함 행 또는 열의 크기가 커진 곳에는 0이 채워..
2020.10.19 -
sw expert academy 5656 구슬 깨기 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 5656 구슬 깨기 문제정리 구슬을 쏘아 벽돌을 깨드리려 한다. 벽돌이 있는 공간의 크기는 WxH이다. 구슬은 좌우로만 움직일 수 있어서 항상 맨 위에 있는 벽돌만 깨트릴 수 있다. 벽돌은 숫자 1~9로 표현되며, 구슬이 명중한 벽돌은 상하좌우로(벽돌에 적힌 숫자-1)칸 만큼 같이 제거된다. 빈 공간이 있을 경우 벽돌은 밑으로 떨어지게 된다. N개의 벽돌을 떨어트려 최대한 많은 벽돌을 제거하려고 한다. 벽돌을 떨어트린 후 남은 벽돌의 개수를 구하여라. 문제 풀이 모든 경우를 따져주기 위해서 중복 순열을 구해야 합니다. N이 3인 경우 000 ~ 999 (W=10)까지 모두 시뮬..
[중복순열, BFS] SWEA 5656번 구슬 깨기 자바 풀이 (모의 sw 역량 테스트)sw expert academy 5656 구슬 깨기 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 5656 구슬 깨기 문제정리 구슬을 쏘아 벽돌을 깨드리려 한다. 벽돌이 있는 공간의 크기는 WxH이다. 구슬은 좌우로만 움직일 수 있어서 항상 맨 위에 있는 벽돌만 깨트릴 수 있다. 벽돌은 숫자 1~9로 표현되며, 구슬이 명중한 벽돌은 상하좌우로(벽돌에 적힌 숫자-1)칸 만큼 같이 제거된다. 빈 공간이 있을 경우 벽돌은 밑으로 떨어지게 된다. N개의 벽돌을 떨어트려 최대한 많은 벽돌을 제거하려고 한다. 벽돌을 떨어트린 후 남은 벽돌의 개수를 구하여라. 문제 풀이 모든 경우를 따져주기 위해서 중복 순열을 구해야 합니다. N이 3인 경우 000 ~ 999 (W=10)까지 모두 시뮬..
2020.05.07