Koder / 박성훈
article thumbnail
백준 BOJ 15312 - 이름 궁합
알고리즘/백준 BOJ 2023. 7. 26. 11:42

https://www.acmicpc.net/problem/15312 15312번: 이름 궁합 영어 대문자 알파벳 26개의 획수는 순서대로 3, 2, 1, 2, 3, 3, 2, 3, 3, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1 로 정한다. (출제자가 알파벳 대문자를 쓰는 방법이 기준이다) www.acmicpc.net 구현 문제. 두 이름의 길이가 같음이 보장되기 때문에, 상대적으로 쉽게 해결할 수 있는 문제이다. 힌트로 주어지는 영어 대문자 알파벳의 획수를 배열등에 넣고 관리해줘야 한다. v.push_back(line[A[i]-'A']); 여기에서처럼 알파벳을 인덱스에 매칭시킬때 'A', 'a' 등을 빼주면 아스키코드 65 ~ 90번에 매칭된 대문자는 0~..

article thumbnail
백준 BOJ 1337 - 올바른 배열
알고리즘/백준 BOJ 2023. 7. 25. 11:40

구현 문제. https://www.acmicpc.net/problem/1337 1337번: 올바른 배열 첫째 줄에 배열의 크기 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 배열의 원소가 한 줄에 하나씩 주어진다. 원소는 1,000,000,000보다 작거나 같은 음이 아닌 정수이 www.acmicpc.net O(5N) 등의 다양한 풀이가 있는듯 한데, 나는 O(N^2) 풀이를 구상했고 이걸로 구현해서 정답을 받았다. 일단 입력으로 주어진 배열을 정렬한 다음에, 두 인덱스 i와 j ( i < j ) 를 잡는다. 해당 인덱스에 있는 배열 값의 차는 v[i] - v[j] 이고, 해당 인덱스 구간에 있는 배열 값의 갯수는 i-j+1이다. 추가해야할 원소를 최소로 만들기 위해서 ..

article thumbnail
백준 BOJ 14582 - 오늘도 졌다
알고리즘/백준 BOJ 2023. 7. 24. 12:06

https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 문제에서 요구하는대로 구현하면 되는 문제. 제미니스가 이기고 있던 적이 있는지를 체크하는 플래그 변수 flag1, flag1이 켜져있는(이긴적이 있는) 상황에서 스타트링크가 이기고 있다면 flag2를 켜줬다. flag2가 켜져있는지 꺼져있는지의 여부가 정답이 된다. 각 회 초가 끝난 바로 뒤 flag1을 갱신해줘야 함에 유의해야한다. #include using namespace s..

article thumbnail
백준 BOJ 16927 - 배열 돌리기 2
알고리즘/백준 BOJ 2023. 7. 23. 21:57

https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 입력으로 들어오는 회전수 R이 터무니없어서 뇌정지가 왔었던 문제. R이 터무니 없다는 부분에서 MOD연산을 활용해야한다는걸 눈치챌수 있다면 문제를 깔끔하게 해결할 수 있다. 입력으로 들어오는 배열을 겉껍질 한줄을 배열로, 그 안쪽 한줄을 배열로, 배열을 한껍질씩 벗겨가면서 도넛 모양의 화살표 고리를 하나..

article thumbnail
백준 BOJ 20546 - 🐜 기적의 매매법 🐜
알고리즘/백준 BOJ 2023. 7. 21. 13:52

https://www.acmicpc.net/problem/20546 20546번: 🐜 기적의 매매법 🐜 1월 14일 기준 준현이의 자산이 더 크다면 "BNP"를, 성민이의 자산이 더 크다면 "TIMING"을 출력한다. 둘의 자산이 같다면 "SAMESAME"을 출력한다. 모든 결과 따옴표를 제외하고 출력한다. www.acmicpc.net 주식을 구매하는 두가지 방법론을 구현하는 문제. 준현이는 살수 있는 모든 경우에 대해서 사게 하고, 성민이는 3일 연속 상승인 경우 매도, 3일 연속 하락인 경우 매수하게끔 소스코드를 작성해주면 된다. 3일 연속 상승은 $p_{k-3} sm) cout

반응형