2025/01/17 4

[C++][백준 1138] 한 줄로 서기

https://www.acmicpc.net/problem/1138풀이키가 1인 사람부터 시작한다면 이후에 오는 사람들은 전부 본인보다 큰 사람들일 것이기 때문에 주어진 수(자기보다 키가 큰 사람이 왼쪽에 몇 명 있었는지)만큼 왼쪽이 비어 있어야 한다 주어진 수만큼 왼쪽을 비운 다음에 본인이 들어가면 되는데, 이미 앞서 들어간 사람이 있는 경우 들어갈 자리가 있을 때까지 오른쪽으로 이동한다(오른쪽으로 계속 이동해도 본인보다 앞서 들어간 사람은 전부 본인보다 작으므로 상관없다) 제출 코드#include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n..

[C++][백준 1913] 달팽이

https://www.acmicpc.net/problem/1913풀이실제로 사람이 채워나가듯 빙글빙글 돌며 2차원 배열을 채운다.직접 해당 그림을 그려보다 발견한 규칙들이다가장 큰 수(n^2)부터 시작해서 하나씩 수를 줄여나가며 채워나간다고 했을 때1. 채워나가는 순서는 아래쪽, 오른쪽, 위쪽, 왼쪽 순으로 반복된다2. (처음을 제외하고) 방향이 바뀌기까지의 수가 방향이 두 번 바뀔 때마다 1씩 줄어든다 위 규칙을 이용해 코드를 작성하였다(문제에서 n은 홀수라고 나와있었기 때문에 홀/짝수에 따라 초기값을 다르게 세팅할 필요가 없었다) 1. n * n 부터 시작해서 row 0, col 0의 위치에서부터 아래방향으로 채워나간다2. 하나씩 채울 때마다 count를 세 주다가, 방향이 바뀌어야 하는 시점에 도달..

[C++][백준 9017] 크로스 컨트리

https://www.acmicpc.net/problem/9017풀이문제를 잘못 이해해서 엄청나게 삽질했던 문제...1. 선수가 6명이 되지 않으면 점수를 받지 않는다. 2. 1~4등까지의 점수 합으로 우승팀을 구한다. 만약 점수합이 같다면 5등의 점수가 더 적은 팀이 우승한다.위 두 조건을 잘 챙겨서 작성해 주면 된다제출 코드#include using namespace std;int arr[1001];int teamMem[201];int teamScr[201];int teamCnt[201];int fifthPlayer[201];int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t, n; cin >> t..