simulation <Baekjoon> #23289 Simulation_온풍기 안녕! c++ (문제를 푸는데 모든 코드를 참고했다.. {동,서,남,북}의 방향을 {0,1,2,3} 으로 설정한다 입력 받아야 하는 값에는 온풍기의 좌표와 방향, 벽의 좌표와 벽이 세워진 방향, 온도를 조사해야하는 좌표가 있다 온도를 조사해야하는 좌표는 vector<pair<int, int>>, 온풍기와 벽은 vector<pair<pair<int, int>, int>>으로 나타낸다 bool wallMap[... simulationbaekjoonalgorithm"삼성SW""삼성SW" 마법사 상어와 비바라기 - 백준(21610, 시뮬레이션) 🎯 마법사 상어와 비바라기 🧐 알고리즘[접근방법] 구름 위치가 저장되어 있는 배열 선언 주변(←, ↖, ↑, ↗, →, ↘, ↓, ↙) 이동 하는 배열 선언, 홀수일때 대각선으로 이동 구름 이동 하는 함수 구현(구역 초과 시 처음으로 이동) 물 증가하는 함수 구현 물 복사하는 함수 구현 구름 제거 후 구름 생성하는 함수 구현 전체 구역 물 개수 카운트 함수 구현 👨💻 소스 🏅 결과 🗨️ 후... 백준코테시뮬레이션코딩테스트simulationsimulation 백준 16234번 인구 이동 cpp python 시뮬레이션 구현 문제에 bfs 한스푼 얹은 느낌의 문제네요 로직을 설명해보겠습니다 인구 이동이 없을때까지 반복하기 때문에 while문안에 코드를 작성하고 한번의 반복문마다 인구 이동이 있었는지 검사를 합니다 만약 이번 턴에 한번도 인구이동이 없다면 break문으로 나옵니다 N*N크기의 땅을 이차원 배열에 저장을 해둡니다 동시에 똑같은 크기의 이차원 배열을 0으로 채워서 만... cpppythonbojsimulationBFSBFS 백준 16235 나무재테크 pythonsimulationbojalgorithmalgorithm 백준 3190번 뱀 cpp python 일단 int 2차원 배열로 맵을 만들고 0,0에 뱀을 나타내는 1을 저장했습니다 사과의 위치값을 입력받아서 맵에 저장시켜두고 뱀의 현재 head 좌표값과 tail 좌표값을 변수로 만들어서 관리 해주었습니다. head와 tail 인덱스를 관리할때 주의 하실게 현재 head의 진행방향과 tail의 진행방향이 다를 수 있기 때문에 큐를 사용하여 head가 움직일때마다 큐에 방향... algorithmcppbojpythonsimulationalgorithm <Baekjoon> #17822 Deque, BFS, Simulation_원판 돌리기 c++ ⭕ Solution & Idea 원판을 한 칸씩 돌릴 때마다 원판의 마지막 값이 가장 앞으로 오고, 앞의 값이 마지막 값으로 간다는 점에서 deque 자료 구조를 이용한다 이웃한 원판의 수를 지울 때 bfs, 너비 우선 탐색을 이용하는데 이때 같은 원판 내에서 처음 끝과 마지막 값이 이웃한다는 점을 주의한다 ⭕ 1. roate 시계 방향으로 회전했을 경우 원판의 변화를 보면 가장 마지막 값이... baekjoonalgorithmDeque"삼성SW"simulationBFS"삼성SW" <Baekjoon> #23290 Simulation, BFS, DFS, Backtracking_마법사 상어와 복제 c++ 따라서 물고기 번호 vector<int> fnum, scent_time을 저장하는 맵을 만들어준다 현재 시간을 Time 이라고 두고, 물고기가 상어에게 잡혀 사라질 때 scent_time=Time 을 넣어준다. 그러고 후에 두 번 전 연습에서 생긴 물고기의 냄새가 격자에서 사라질 때, Time-scent_time==2인 경우 scent_time=0으로 만들어주는 방법을 사용한다 1. star... DFSalgorithmBacktracking"삼성SW"simulationBFS"삼성SW" [BOJ] 2933번 / 18500번: 미네랄 1, 2 (JAVA) 시뮬레이션은 문제를 천천히 보면서 하나하나 구현하는게 가장 중요한 것 같다. Logic 높이 입력 받기 던지는 위치에 따라 분기 없어질 미네랄 위치 찾기 없어질 미네랄을 중심으로 오른쪽 공격이면 상, 하, 좌 왼쪽 공격이면 상, 하, 우 탐색하며, 떨어질 클러스터가 있는지 확인 ( breakMineral() ) BFS 돌며, 바닥과 맞닿아 있는 곳이 있는지 확인 있으면 false 리턴, 없... simulation알고리즘백준시뮬레이션simulation 프로그래머스 카드 짝 맞추기 python cpp 풀이법은 bfs와 dfs를 사용해서 모든 경우의 수를 다 탐색하는 것입니다. 예를 들어서 블록의 종류가 3개라면 이렇게 모든 경우를 다 탐색하는데 이 때 블록의 한쌍이 2개이기 때문에 1번째 블록을 먼저 지우고 2번째 블록을 지우는 경우와 2번째 블록을 지우고 1번째 블록을 지우는 경우까지 전부 생각해서 구현해주면 됩니다 그리고 블록간의 거리는 문제에서 주어진 조건으로 b... DFSalgorithm카카오 기출programmerscpppythonBFSGraphsimulationBFS <Baekjoon> #20058 Simulation, 구현 마법사 상어와 파이어스톰 c++ 참고로 비트 연산자 >>은 2의 거듭제곱으로 나누기, <<은 2의 거듭제곱을 곱할 때 사용한다 다음과 같이 길이(Len)가 4인 경우 돌아가고 난 후 각 맵에 있는 값의 변화를 살펴본다 크게 2개 사각형 둘레(?)의 회전으로 나눌 수 있다. 따라서 돌려야 하는 갯수는 int square=2/Len임을 알 수 있다. 각 사각형마다 기준점의 좌표를 생각해본다 시작점 (1,1)을 (Sy, Sx)라... baekjoonBFS"삼성SW"DFSsimulationalgorithm"삼성SW" [알고리즘 풀이 분석] 프로그래머스 기둥과 보 설치 (2020 Kakao Blind Recruitment) "죠르디"는 기둥과 보를 이용하여 벽면 구조물을 자동으로 세우는 로봇을 개발할 계획인데, 그에 앞서 로봇의 동작을 시뮬레이션 할 수 있는 프로그램을 만들고 있습니다. 프로그램은 2차원 가상 벽면에 기둥과 보를 이용한 구조물을 설치할 수 있는데, 기둥과 보는 길이가 1인 선분으로 표현되며 다음과 같은 규칙을 가지고 있습니다. (1, 0)에서 위쪽으로 기둥을 하나 설치 후, (1, 1)에서 오른... psprogrammerskakaoalgorithmcppsimulationalgorithm [알고리즘 풀이 분석] BOJ 20056 마법사 상어와 파이어볼 i번 파이어볼의 위치는 (ri, ci), 질량은 mi이고, 방향은 di, 속력은 si이다. 파이어볼의 방향은 어떤 칸과 인접한 8개의 칸의 방향을 의미하며, 정수로는 다음과 같다. 나누어진 파이어볼의 질량, 속력, 방향은 다음과 같다. 속력은 ⌊(합쳐진 파이어볼 속력의 합)/(합쳐진 파이어볼의 개수)⌋이다. 합쳐지는 파이어볼의 방향이 모두 홀수이거나 모두 짝수이면, 방향은 0, 2, 4, 6... psbojalgorithmcppsimulationalgorithm 백준 1052, 물병 - Greedy, 시뮬레이션 그리디 알고리즘 가장 작은 물 양의 1L 짜리 물병부터 확인 같은 양의 물병이 2개 이상 존재하면, 합침 int[] bottles에 물 양에 따른 물병 개수 저장 그리디 알고리즘으로 풀이가 가능한 이유 물병의 물 양이 1, 2, 4, 8, ..., 2^k 형태의 2의 거듭제곱으로 늘어남 작은 물병으로 큰 물병을 만들어낼 수 있으므로, 해를 찾지 못하는 경우가 없음 비슷한 문제 유형) 동전 문... 시뮬레이션greedy알고리즘그리디코딩 테스트simulation구현백준 1052 물병greedy # BOJ 15683 감시 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 수 있다. CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다. 사무실에는 벽이 있는데, CCTV는 벽을 통과할... algorithmbojDFSBacktrackingsimulationBacktracking 프로그래머스-2018 KAKAO BLIND RECRUITMENT ( 프렌즈 4블록 by Java ) 프로그래머스 2018 KAKAO BLIND RECRUITMENT Level 2 문제 프렌즈 4블록을 Java를 이용해 풀어보았다. 스택을 이용했다. 문제 링크 첨부한다. 현재 칸과 동쪽, 남쪽 그리고 동남쪽 칸까지 총 4칸이 모두 동일하면 visited 배열의 값을 true로 바꿔주며 (m-2,n-2)칸까지 확인한 후에 마지막에 모든 칸을 돌며 visited 값이 true인 곳은 '0'으로 ... Javaalgorithmtmxorprogrammersstack2018 KAKAO BLIND RECRUITMENTImplementationsimulation구현2018 KAKAO BLIND RECRUITMENT 프로그래머스-2021 Dev-Matching: 웹 백엔드 ( 행렬 테두리 회전 by Java ) 프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자 (상반기) Level 2 문제 행렬 테두리 회전하기를 Java를 이용해 풀어보았다. 이차원 배열 가지고 푸는 구현 문제였다. 문제 링크 첨부한다. 화려한 기술이 필요하진 않은 문제같다. 그냥 주어진 조건대로 배열을 잘 다룰 수 있는지만 확인하는 문제같다. 그냥... 힘으로 푸는 문제 같았다. 위 그림과 같이 시계 방향으로 배열 ... Java2021 Dev-Matchingalgorithm배열programmersImplementationsimulation구현2021 Dev-Matching [BOJ] 백준 15685 - 드래곤 커브 using Java 11 📍 규칙찾기 0세대 커브를 제외하고는 각 커브의 방향을 역순으로 반시계 90도 회전 시키면 된다. 주어진 예제에서는 0 1 2(1이 90도 회전) 1(0이 90도 회전) 이렇게 진행된다. 즉, 방향에 해당하는 정수 값을 list에 넣고 뒤에서 부터 탐색하여 90도 회전 시켜주면 된다는 것이다. 📍 주의할 점 0세대에 대해서는 먼저 수행해서 x, y 값이 끝점으로 업데... simulationJava알고리즘bojJava [알고리즘 풀이 분석] 프로그래머스 셔틀버스 (2018 Kakao Blind Recruitment) 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며, 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 예를 들어 09:00에 도착한 셔틀은 자리가 있다면 09:00에 줄을 선 크루도 탈 수 있다. 일찍 나와서 셔틀을 기다리는 것이 귀찮았던 콘은, 일주일간의 집요한 관찰 끝에 어떤 크루가 몇 시에 셔... simulationpsswiftkakaoprogrammerscppalgorithmalgorithm
<Baekjoon> #23289 Simulation_온풍기 안녕! c++ (문제를 푸는데 모든 코드를 참고했다.. {동,서,남,북}의 방향을 {0,1,2,3} 으로 설정한다 입력 받아야 하는 값에는 온풍기의 좌표와 방향, 벽의 좌표와 벽이 세워진 방향, 온도를 조사해야하는 좌표가 있다 온도를 조사해야하는 좌표는 vector<pair<int, int>>, 온풍기와 벽은 vector<pair<pair<int, int>, int>>으로 나타낸다 bool wallMap[... simulationbaekjoonalgorithm"삼성SW""삼성SW" 마법사 상어와 비바라기 - 백준(21610, 시뮬레이션) 🎯 마법사 상어와 비바라기 🧐 알고리즘[접근방법] 구름 위치가 저장되어 있는 배열 선언 주변(←, ↖, ↑, ↗, →, ↘, ↓, ↙) 이동 하는 배열 선언, 홀수일때 대각선으로 이동 구름 이동 하는 함수 구현(구역 초과 시 처음으로 이동) 물 증가하는 함수 구현 물 복사하는 함수 구현 구름 제거 후 구름 생성하는 함수 구현 전체 구역 물 개수 카운트 함수 구현 👨💻 소스 🏅 결과 🗨️ 후... 백준코테시뮬레이션코딩테스트simulationsimulation 백준 16234번 인구 이동 cpp python 시뮬레이션 구현 문제에 bfs 한스푼 얹은 느낌의 문제네요 로직을 설명해보겠습니다 인구 이동이 없을때까지 반복하기 때문에 while문안에 코드를 작성하고 한번의 반복문마다 인구 이동이 있었는지 검사를 합니다 만약 이번 턴에 한번도 인구이동이 없다면 break문으로 나옵니다 N*N크기의 땅을 이차원 배열에 저장을 해둡니다 동시에 똑같은 크기의 이차원 배열을 0으로 채워서 만... cpppythonbojsimulationBFSBFS 백준 16235 나무재테크 pythonsimulationbojalgorithmalgorithm 백준 3190번 뱀 cpp python 일단 int 2차원 배열로 맵을 만들고 0,0에 뱀을 나타내는 1을 저장했습니다 사과의 위치값을 입력받아서 맵에 저장시켜두고 뱀의 현재 head 좌표값과 tail 좌표값을 변수로 만들어서 관리 해주었습니다. head와 tail 인덱스를 관리할때 주의 하실게 현재 head의 진행방향과 tail의 진행방향이 다를 수 있기 때문에 큐를 사용하여 head가 움직일때마다 큐에 방향... algorithmcppbojpythonsimulationalgorithm <Baekjoon> #17822 Deque, BFS, Simulation_원판 돌리기 c++ ⭕ Solution & Idea 원판을 한 칸씩 돌릴 때마다 원판의 마지막 값이 가장 앞으로 오고, 앞의 값이 마지막 값으로 간다는 점에서 deque 자료 구조를 이용한다 이웃한 원판의 수를 지울 때 bfs, 너비 우선 탐색을 이용하는데 이때 같은 원판 내에서 처음 끝과 마지막 값이 이웃한다는 점을 주의한다 ⭕ 1. roate 시계 방향으로 회전했을 경우 원판의 변화를 보면 가장 마지막 값이... baekjoonalgorithmDeque"삼성SW"simulationBFS"삼성SW" <Baekjoon> #23290 Simulation, BFS, DFS, Backtracking_마법사 상어와 복제 c++ 따라서 물고기 번호 vector<int> fnum, scent_time을 저장하는 맵을 만들어준다 현재 시간을 Time 이라고 두고, 물고기가 상어에게 잡혀 사라질 때 scent_time=Time 을 넣어준다. 그러고 후에 두 번 전 연습에서 생긴 물고기의 냄새가 격자에서 사라질 때, Time-scent_time==2인 경우 scent_time=0으로 만들어주는 방법을 사용한다 1. star... DFSalgorithmBacktracking"삼성SW"simulationBFS"삼성SW" [BOJ] 2933번 / 18500번: 미네랄 1, 2 (JAVA) 시뮬레이션은 문제를 천천히 보면서 하나하나 구현하는게 가장 중요한 것 같다. Logic 높이 입력 받기 던지는 위치에 따라 분기 없어질 미네랄 위치 찾기 없어질 미네랄을 중심으로 오른쪽 공격이면 상, 하, 좌 왼쪽 공격이면 상, 하, 우 탐색하며, 떨어질 클러스터가 있는지 확인 ( breakMineral() ) BFS 돌며, 바닥과 맞닿아 있는 곳이 있는지 확인 있으면 false 리턴, 없... simulation알고리즘백준시뮬레이션simulation 프로그래머스 카드 짝 맞추기 python cpp 풀이법은 bfs와 dfs를 사용해서 모든 경우의 수를 다 탐색하는 것입니다. 예를 들어서 블록의 종류가 3개라면 이렇게 모든 경우를 다 탐색하는데 이 때 블록의 한쌍이 2개이기 때문에 1번째 블록을 먼저 지우고 2번째 블록을 지우는 경우와 2번째 블록을 지우고 1번째 블록을 지우는 경우까지 전부 생각해서 구현해주면 됩니다 그리고 블록간의 거리는 문제에서 주어진 조건으로 b... DFSalgorithm카카오 기출programmerscpppythonBFSGraphsimulationBFS <Baekjoon> #20058 Simulation, 구현 마법사 상어와 파이어스톰 c++ 참고로 비트 연산자 >>은 2의 거듭제곱으로 나누기, <<은 2의 거듭제곱을 곱할 때 사용한다 다음과 같이 길이(Len)가 4인 경우 돌아가고 난 후 각 맵에 있는 값의 변화를 살펴본다 크게 2개 사각형 둘레(?)의 회전으로 나눌 수 있다. 따라서 돌려야 하는 갯수는 int square=2/Len임을 알 수 있다. 각 사각형마다 기준점의 좌표를 생각해본다 시작점 (1,1)을 (Sy, Sx)라... baekjoonBFS"삼성SW"DFSsimulationalgorithm"삼성SW" [알고리즘 풀이 분석] 프로그래머스 기둥과 보 설치 (2020 Kakao Blind Recruitment) "죠르디"는 기둥과 보를 이용하여 벽면 구조물을 자동으로 세우는 로봇을 개발할 계획인데, 그에 앞서 로봇의 동작을 시뮬레이션 할 수 있는 프로그램을 만들고 있습니다. 프로그램은 2차원 가상 벽면에 기둥과 보를 이용한 구조물을 설치할 수 있는데, 기둥과 보는 길이가 1인 선분으로 표현되며 다음과 같은 규칙을 가지고 있습니다. (1, 0)에서 위쪽으로 기둥을 하나 설치 후, (1, 1)에서 오른... psprogrammerskakaoalgorithmcppsimulationalgorithm [알고리즘 풀이 분석] BOJ 20056 마법사 상어와 파이어볼 i번 파이어볼의 위치는 (ri, ci), 질량은 mi이고, 방향은 di, 속력은 si이다. 파이어볼의 방향은 어떤 칸과 인접한 8개의 칸의 방향을 의미하며, 정수로는 다음과 같다. 나누어진 파이어볼의 질량, 속력, 방향은 다음과 같다. 속력은 ⌊(합쳐진 파이어볼 속력의 합)/(합쳐진 파이어볼의 개수)⌋이다. 합쳐지는 파이어볼의 방향이 모두 홀수이거나 모두 짝수이면, 방향은 0, 2, 4, 6... psbojalgorithmcppsimulationalgorithm 백준 1052, 물병 - Greedy, 시뮬레이션 그리디 알고리즘 가장 작은 물 양의 1L 짜리 물병부터 확인 같은 양의 물병이 2개 이상 존재하면, 합침 int[] bottles에 물 양에 따른 물병 개수 저장 그리디 알고리즘으로 풀이가 가능한 이유 물병의 물 양이 1, 2, 4, 8, ..., 2^k 형태의 2의 거듭제곱으로 늘어남 작은 물병으로 큰 물병을 만들어낼 수 있으므로, 해를 찾지 못하는 경우가 없음 비슷한 문제 유형) 동전 문... 시뮬레이션greedy알고리즘그리디코딩 테스트simulation구현백준 1052 물병greedy # BOJ 15683 감시 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 수 있다. CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다. 사무실에는 벽이 있는데, CCTV는 벽을 통과할... algorithmbojDFSBacktrackingsimulationBacktracking 프로그래머스-2018 KAKAO BLIND RECRUITMENT ( 프렌즈 4블록 by Java ) 프로그래머스 2018 KAKAO BLIND RECRUITMENT Level 2 문제 프렌즈 4블록을 Java를 이용해 풀어보았다. 스택을 이용했다. 문제 링크 첨부한다. 현재 칸과 동쪽, 남쪽 그리고 동남쪽 칸까지 총 4칸이 모두 동일하면 visited 배열의 값을 true로 바꿔주며 (m-2,n-2)칸까지 확인한 후에 마지막에 모든 칸을 돌며 visited 값이 true인 곳은 '0'으로 ... Javaalgorithmtmxorprogrammersstack2018 KAKAO BLIND RECRUITMENTImplementationsimulation구현2018 KAKAO BLIND RECRUITMENT 프로그래머스-2021 Dev-Matching: 웹 백엔드 ( 행렬 테두리 회전 by Java ) 프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자 (상반기) Level 2 문제 행렬 테두리 회전하기를 Java를 이용해 풀어보았다. 이차원 배열 가지고 푸는 구현 문제였다. 문제 링크 첨부한다. 화려한 기술이 필요하진 않은 문제같다. 그냥 주어진 조건대로 배열을 잘 다룰 수 있는지만 확인하는 문제같다. 그냥... 힘으로 푸는 문제 같았다. 위 그림과 같이 시계 방향으로 배열 ... Java2021 Dev-Matchingalgorithm배열programmersImplementationsimulation구현2021 Dev-Matching [BOJ] 백준 15685 - 드래곤 커브 using Java 11 📍 규칙찾기 0세대 커브를 제외하고는 각 커브의 방향을 역순으로 반시계 90도 회전 시키면 된다. 주어진 예제에서는 0 1 2(1이 90도 회전) 1(0이 90도 회전) 이렇게 진행된다. 즉, 방향에 해당하는 정수 값을 list에 넣고 뒤에서 부터 탐색하여 90도 회전 시켜주면 된다는 것이다. 📍 주의할 점 0세대에 대해서는 먼저 수행해서 x, y 값이 끝점으로 업데... simulationJava알고리즘bojJava [알고리즘 풀이 분석] 프로그래머스 셔틀버스 (2018 Kakao Blind Recruitment) 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며, 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 예를 들어 09:00에 도착한 셔틀은 자리가 있다면 09:00에 줄을 선 크루도 탈 수 있다. 일찍 나와서 셔틀을 기다리는 것이 귀찮았던 콘은, 일주일간의 집요한 관찰 끝에 어떤 크루가 몇 시에 셔... simulationpsswiftkakaoprogrammerscppalgorithmalgorithm