본문 바로가기

Problem/시뮬레이션

[C/C++] BOJ 1347 :: 미로 만들기 BOJ 1347 :: 미로 만들기 문제 링크 : https://www.acmicpc.net/problem/1347 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_1347/BOJ_1347.cpp 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657// 백준 알고리즘 1347번 :: 미로 만들기#include#includeusing namespace std; int N;bool map[101][101];// 남 서 북 동int dx[4] = {1, 0, -..
[C/C++] BOJ 15685 :: 드래곤 커브 BOJ 15685 :: 드래곤 커브 문제 링크 : https://www.acmicpc.net/problem/15685 나의 풀이 방법! 1) 끝점과 이동방향을 구조체형태로 저장한다! 2) 한 세대가 증가할 때마다 구조체를 갱신하면서 격자에 표시한다! 3) 모든 표시가 끝나면, 격자의 네 꼭짓점이 모두 true일 때, 정사각형의 개수를 센다! 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_15685/BOJ_15685.cpp 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051..
[C/C++] BOJ 14890 :: 경사로 BOJ 14890 :: 경사로 문제 링크 : https://www.acmicpc.net/problem/14890 예외 처리 고려를 잘 하지 않고 마구잡이로 코드를 짜다보니 시간이 오래걸렸다 ㅠㅠ 각 예제마다 뭐가 안되는 게 계속 생겨서 그걸 맞게 고치려고 하면 다른 조건이 안되고 ㅠㅠ... 여러 모로 나는 힘들었던 문제... 나의 풀이방법 세로와 가로 한 줄씩 총 2N 번을 탐색하면 되기 때문에 0행과 0열만을 탐색하였다! 내가 처리한 조건으로는 1. 지도의 범위를 벗어날 때, 1) 놓아야하는 경사로를 놓지 못하고 넘어간 경우 break 2) 그렇지 않은 경우 ans++ 한 후, break 2. 이웃한 칸의 높이가 2 이상일 때, 경사로를 통해 갈 수 없으므로 break3. 이웃한 칸의 높이가 1 일 때..
[C/C++] BOJ 14499 :: 주사위 굴리기 BOJ 14499 :: 주사위 굴리기 문제 링크 : https://www.acmicpc.net/problem/14499 주사위굴리기 문제! simulate하는 문제이다. 각 명령마다 주사위 면에 쓰여지는 숫자를 갱신해주면 된다. 최대한 규칙을 찾아내서 간단하게 만들고 싶었는데 ㅠ못찾겠어서 그냥 모든 면을 바뀌는 면의 값으로 대입시켜 주는 방법으로 풀게 되었다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_14499/BOJ_14499.cpp 1234567891011121314151617181920212223242526272829303132333435363738394041424344454..
[C/C++] BOJ 3190 :: 뱀 https://www.acmicpc.net/problem/3190 문제를 제대로 안 보고 풀어서 계속 예제 3번이 이상하기 나오길래 아주 그냥 정독을 하고나서 원인을 알았다 ㅠ 나는 꼬리를 자르고 앞으로 움직여서 뱀의 머리와 꼬리가 부딪히는 경우를 처리하지 못하고 있었당.. 앞으로 움직이고 처리한 후에 꼬리를 잘라야 한다능.. 문제를 정독합시다 ㅠㅠ QUEUE로 풀려고 했는데 QUEUE에 뱀의 몸을 넣었을 때 전체를 어떻게 또 다 뒤지면서 비교해야 하나 방법을 잘 모르겠어서 VECTOR로 풀었다. https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_3190/BOJ_3190.cpp 123456789101112131415..
[백준알고리즘] 14503번 로봇 청소기 https://www.acmicpc.net/problem/14503 로봇 청소기 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초512 MB94704578300448.366%문제로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오.로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다.로봇 청소기는 다음과 같이 작동한다.현재 위치를 청소한다.현재 위치에서 현재 방향을 기준으로 ..
[백준알고리즘] 14891번 톱니바퀴 https://www.acmicpc.net/problem/14891 톱니바퀴 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초512 MB60302569190144.698%문제총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다.이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다.톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니바퀴가 회전할 때,..