구현 362

백준 2840번 행운의 바퀴

문제 링크입니다: https://www.acmicpc.net/problem/2840 COCI B번 문제 명성답게 예외처리가 까다로운 문제였습니다.대표적인 모순은 아래와 같이 두 가지입니다.1. 해당 인덱스에 '?'가 아닌 문자가 저장되어있는데 또 다른 문자가 저장된다고 하는 경우2. 룰렛에 중복이 되는 문자가 있으면 안되는데 중복이 발생하는 경우('?' 제외) 2가지 예외처리를 잘 처리하고 인덱스를 모듈러를 통해 시계방향으로 잘 전환하였다면 AC를 받을 수 있는 문제였습니다. #include #include #include using namespace std; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); int N, K; cin >> N >> ..

알고리즘/BOJ 2018.10.29

백준 2852번 NBA 농구

문제 링크입니다: https://www.acmicpc.net/problem/2852 생각보다 까다로운 문제였습니다. 알고리즘은 아래와 같습니다. 1. 한 팀이 이기기 시작하는 시간을 start에 저장합니다. 2. 비기는 순간 해당 팀이 이기고 있었던 시간을 계산해서 더해줍니다. 3. 마지막에 한 팀이 이기고 있었을 경우 48분에서 start를 뺀 시간만큼 이기고 있었던 팀에 더해줍니다. 4. string 형식으로 출력해야지만 AC를 맞는 것 같습니다.(숫자를 integer 형식으로 제출하면 WA가 뜨는데 이유가 궁금하네요) 주의할 점은, 초의 범위는 0 이상 59 이하라는 것입니다. 해당 범위를 초과할 경우 1분을 더해주고 60초를 빼주고, 해당 범위보다 미만이라면 1분을 빼주고 60초를 더해줘야합니다...

알고리즘/BOJ 2018.09.24

백준 1713번 후보 추천하기

문제 링크입니다: https://www.acmicpc.net/problem/1713 문제의 조건을 잘 읽고 그대로 코딩하면 되는 문제였습니다.조건이 5개나 되기 때문에 꼼꼼하게 잘 읽어보시는 것을 추천드리고 vector와 pair를 연습하기 좋은 문제였던 것 같습니다. #include #include #include using namespace std; const int MAX = 100 + 1; int recommend[MAX]; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; //{시간, 사진} vector v(N, { 0, 0 }); int rec; cin >> rec; for (int i = 0; i < rec..

알고리즘/BOJ 2018.09.24

백준 5919번 Hay Bales

문제 링크입니다: https://www.acmicpc.net/problem/5919 간단하게 해석하자면 모든 건초더미들의 높이가 같게 하려면 건초더미들을 몇번 움직여야하는지 구하는 문제였습니다. 알고리즘은 아래와 같습니다.1. 우선 건초더미들의 개수 평균을 구합니다.2. 결국 평균보다 높이 쌓여있는 건초더미들에서 낮은 건초더미들로 옮겨야하므로 평균보다 얼마나 높은지의 누적합을 구하면 됩니다. #include using namespace std; const int MAX = 10000; int N; int hay[MAX]; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); //cin 실행속도 향상 cin >> N; int sum = 0; for (in..

알고리즘/BOJ 2018.08.28

백준 14210번 Kartomat

문제 링크입니다: https://www.acmicpc.net/problem/14210 문자열 탐색 및 구현 문제였습니다.14209번과 마찬가지로 꽤나 쉬운 문제였습니다. #include #include #include using namespace std; string keyboard[4] = { "***ABCDE", "FGHIJKLM", "NOPQRSTU", "VWXYZ***" }; string destination[50]; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; for (int i = 0; i > destination[i]; string input; cin >> input; vec..

알고리즘/BOJ 2018.08.19

백준 14654번 스테판 쿼리

문제 링크입니다: https://www.acmicpc.net/problem/14654 단순 구현 문제였습니다.문제에서 요구하는대로만 구현을 한다면 AC를 받을 수 있는 문제였기 때문에 설명은 생략하겠습니다. #include #include using namespace std; const int MAX = 300; int N; pair arr[MAX]; int maxStraightWins(void) { int team1 = 0, team2 = 0; int result = 0; for (int i = 0; i < N; i++) { //비긴 경우 새로 출전한 사람이 승을 챙김 if (arr[i].first == arr[i].second) { if (!team1) { team1++; result = max(re..

알고리즘/BOJ 2018.08.09