728x90
반응형

구현 17

[백준/구현/JAVA] 14891번 톱니바퀴

문제는 여기! import java.io.*; import java.util.*; public class Main { static int gear[][]; static int d[]; //기어의 회전정보 static int n, m; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; gear = new int[4][8]; for(int i=0; i=0; i--){ if(gear[i][2] != gear[i+1][6]){ d[i] = -d[i+1]; } else { // 회전하지 않으면 ..

[백준/구현/C++] 16234번 인구 이동

문제는 여기! 문제 해결 방법 1. 주변 나라끼리 인구수 차이가 L이상 R이하인 나라들을 체크한다 2. 체크한 나라중에 인접한 나라들을 구하고 인구를 나눈다(BFS) 사용 2번에서 인구수 차이를 한번 더 체크해야한다 #include using namespace std; int N, L, R; int A[51][51]; bool check[51][51], check2[51][51]; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int year = 0; void clear(){ for(int i=0; i

[백준/구현/BFS&DFS/C++] 2573번 빙산

https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 문제 해결 방법 수도코드로 표현하면 아래처럼 표현할 수 있다. while(1){ if(빙하의 개수==0) break; 빙하 덩어리 수 세기(); if(빙하 덩어리수 > 1) break; else 빙하 녹이기(); } 그리고 크게 구현할 것은 아래 3가지 이다. 1. 빙하마다 바다에 둘러싸인 면의 수 구하기 2. 한번에 녹이기 3. 덩어리 수 세기 우선 입력받을 때 빙하는 queue에 넣어주었..

[백준/구현/C++] 17281번 야구*

https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net #include #define MAX 51 #define PLAYER_NUM 10 using namespace std; int N, answer; int Order[PLAYER_NUM]; int Game[MAX][PLAYER_NUM]; bool selected[PLAYER_NUM]; vector v; void play_the_game(){ int score = 0; int start_player = 1..

[백준/구현/C++] 15685번 드래곤 커브 *

https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net #include #define MAX 101 using namespace std; int n, x, y, d, g; int MAP[MAX][MAX]; int dx[] = {0, -1, 0, 1}; // 오른쪽, 위, 왼쪽, 아래 int dy[] = {1, 0, -1, 0}; vector Dir_Info; void Make_Dragon_curve(){ int s = Dir..

[백준/구현/C++] 14499번 주사위 굴리기 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 문제 해결 방법 주사위가 굴려질 때 마다 윗면을 어떻게 체크할까 하다가 위, 앞, 오른쪽을 표시하는 포인터를 구현하기로 했다. 그러면 주사위가 굴려질 때 마다 인덱스가 오른쪽처럼 변하게 된다 전체 코드 #include using namespace std; int n, m, x, y, k; int mapp[21][21]; int pl..

[백준/구현/C++] 21610번 마법사 상어와 비바라기 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 문제 해결 방법 먼저 구조체 두개를 선언한다 MOVEINFO 는 구름 이동방향과 거리를 담고 POSITION에는 각 위치마다 현재 구름이 있는지 여부, 사라졌는지 여부, 물의양을 담는다 struct MOVEINFO{ int dir; // 방향 int sp; // 거리 }; struct POSITION{ bool hasCloud = false; // 현재 구름 있는 경우 bool disClo..

[백준/구현/C++] 21608번 상어 초등학교 (삼성 SW 역량 테스트 기출) *

https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 일단 머리로 시뮬레이션을 돌려봤는데 내가 생각한 방법으로는 무조건 시간초과가 나올 것 같아서 블로그를 참조했다. https://yabmoons.tistory.com/656 이 블로그를 봤는데 생각도 못한 구조체랑 필요에 맞게 조건을 만들어서 정렬하는 등 배울게 많았다. 다시 풀어보면서 공부해야겠다. 문제 해결 방법 먼저 구조체 두개를 선언한다 학생정보(STUDENT), 자리 배치를 위해..

728x90
반응형