반응형 PS 문제 풀이/Baekjoon446 [BOJ] 백준 2174 로봇 시뮬레이션 출처: https://www.acmicpc.net/problem/2174 Input 5 4 2 2 1 1 E 5 4 W 1 F 7 2 F 7 Output Robot 1 crashes into the wall 로봇의 위치와 방향을 아래와 같이 변경하여 표현 명령을 순차적으로 수행하므로, 명령을 수행하는 로봇의 위치에 따라 결과 출력. - 로봇이 F 명령을 수행하면서, 범위밖인지 혹은 다른 로봇과 부딪혔는지 확인합니다. - 방향을 바뀌는 경우, 4의 배수로 회전한다면 1바퀴를 회전하기 때문에 주어진 반복 횟수 % 4 처리합니다. 그 후, 시계 및 반시계 방향에 따른 방향 전환 처리를 해줍니다. #include #include using namespace std; typedef pair XY; typedef .. 2021. 2. 26. [BOJ] 백준 1592 영식이와 친구들 출처: https://www.acmicpc.net/problem/1592 Input 5 3 2 Output 10 player[]에 공을 받은 횟수 저장합니다. (처음 1번 선수가 받은 공도 횟수에 포함됩니다.) player = [1 0 0 0 0] (※ 인덱스를 1번부터라고 가정) ▶ 공을 3번에게 던진다 → player = [1 0 1 0 0] ▶ 공을 5번에게 던진다 → player = [1 0 1 0 1] ▶ 공을 2번에게 던진다 → player = [1 1 1 0 1] ▶ 공을 4번에게 던진다 → player = [1 1 1 1 1] ▶ 공을 1번에게 던진다 → player = [2 1 1 1 1] ▶ 공을 4번에게 던진다 → player = [2 1 1 2 1] ▶ 공을 2번에게 던진다 → pl.. 2021. 2. 26. [BOJ] 백준 1526 가장 큰 금민수 출처: https://www.acmicpc.net/problem/1526 Input 100 Output 77 N 이하의 숫자에서 찾는 것이므로 N ~ 1까지 순환하며 4와 7로 이루어진 확인합니다. #include using namespace std; bool is47(int num){ int digit; while (num) { digit = num % 10; if (!(digit == 4 || digit == 7)) return false; num /= 10; } return true; } int main(void){ int N; cin >> N; for (int i = N; i >= 1; i--){ if (is47(i)){ cout 2021. 2. 26. [BOJ] 백준 9517 아이 러브 크로아티아 출처: https://www.acmicpc.net/problem/9517 Input 5 6 70 T 50 P 30 N 50 T 30 P 80 T Output 7 3분 30초 = 210초로 계산해서 question[]에 대답하기까지 걸리는 시간 answer[]에 대답 종류를 저장하여 시뮬레이션 #include using namespace std; int question[101]; char answer[101]; int main() { int K, N; cin >> K >> N; for (int i = 1; i > question[i] >> answer[i]; } int quizTime = 210; // 3분 30초 // 항상 사람이 폭탄을 들고있었을 때 터지는 입력만 주어지므로 // 문제가 부족한 경우는 .. 2021. 2. 26. [BOJ] 백준 1022 소용돌이 예쁘게 출력하기 출처: https://www.acmicpc.net/problem/1022 Input -3 -3 2 0 Output 37 36 35 34 38 17 16 15 39 18 5 4 40 19 6 1 41 20 7 8 42 21 22 23 주어지는 r1, c1, r2, c2 있는 그대로 배열을 만들면 메모리가 초과합니다. 문제상에서는 음수로 인덱스가 잡혀있기에 이에 대한 조정이 필요합니다. (r2-r1) × (c2-c1) 크기의 배열을 만듭니다. 음수 인덱스의 경우, (x - r1, y - c1)로 값을 계산해서 (0, 0) ~(r2 - r1, c2 - c1) 영역으로 대체합니다. 결과적으로 x-r1 >=0 && x-r1 =0 && y-c1 > r1 >> c1 >> r2 >> c2; while(!(( map[0.. 2021. 2. 26. [BOJ] 백준 11657 타임머신 출처: https://www.acmicpc.net/problem/11657 Input 3 4 1 2 4 1 3 3 2 3 -1 3 1 -2 Output 4 3 음수 가중치를 포함하는 유향 그래프에서 최단 거리를 구하는 문제이므로 벨만-포드 (Bellman-Ford) 벨만-포드 (Bellman-Ford) 개념 가중 유향 그래프에서 최단 경로를 구하는 알고리즘입니다. 벨만 포드 알고리즘은 동작원리는 다익스트라(Dijkstra)와 유사합니다. 차이점은 벨만 포드는 음수 가중치가 존재하는 경우에도 zoosso.tistory.com ▷ 음수 사이클을 형성하는 경우 Input 3 4 1 2 4 1 3 3 2 3 -4 3 1 -2 Output -1 Input 3 2 1 2 4 1 2 3 Output 3 -1 ▷ [1.. 2021. 2. 26. [BOJ] 백준 1927 최소 힙 출처: https://www.acmicpc.net/problem/1927 heap을 반복문을 이용하여 구현 ※ [그래프] 힙(Heap) 자료구조란? 힙(Heap) 자료구조란? Heap - 최대값 또는 최소값을 빠르게 구하기 위한 자료구조 - 완전 이진 트리를 기본으로 한 자료구조 - 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. - 트리가 한쪽으로 기울어진 zoosso.tistory.com #include using namespace std; int heap[100001] = { 0, }; int heapSize = 0; void swap(int A, int B) { int temp = heap[A]; heap[A] = heap[B]; heap[B] = temp; } // 상향식 void.. 2021. 2. 26. [BOJ] 백준 11279 최대 힙 출처: https://www.acmicpc.net/problem/11279 [그래프] 힙(Heap) 자료구조란? 힙(Heap) 자료구조란? Heap - 최대값 또는 최소값을 빠르게 구하기 위한 자료구조 - 완전 이진 트리를 기본으로 한 자료구조 - 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. - 트리가 한쪽으로 기울어진 zoosso.tistory.com heap을 반복문을 이용하여 구현 #include using namespace std; int heap[100001] = { 0, }; int heapSize = 0; void swap(int A, int B) { int temp = heap[A]; heap[A] = heap[B]; heap[B] = temp; } // 상향식 void .. 2021. 2. 26. [BOJ] 백준 1748 수 이어 쓰기 1 출처: https://www.acmicpc.net/problem/1748 Input 120 Output 252 숫자의 길이는 아래의 규칙을 지닌다. 1- 9 → 1 10 - 99 → 2 100 - 999 → 3 1000 - 9999 → 4 N이 크지 않은 숫자이므로, 어느 구간에 속하는지 확인하며 숫자의 길이를 더해갑니다. #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; long long answer = 0; int start = 1, end = 10; int len = 1; while(1){ for(int i=start; i < .. 2021. 2. 26. [BOJ] 백준 6603 로또 출처: https://www.acmicpc.net/problem/6603 Input 7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34 0 Output 1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 7 1 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 .. 2021. 2. 26. 이전 1 ··· 15 16 17 18 19 20 21 ··· 45 다음 반응형