전체 글(724)
-
[백준/BOJ] 백준 1107번 : 리모컨
www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 버튼을 눌러서 이동할 수 있는 모든 채널로 이동하며 그 채널에서 + 또는 -를 통해 목표하는 채널로 가는 것을 통해 그때 버튼 누르는 최소 경우의 값을 구하고 그 값과 시작 채널 100에서 + 또는 - 만으로 목표하는 채널로 가는 경우 버튼 누르는 값과 비교하여 문제를 해결했다. 그런데 버튼을 눌러서 채널을 이동할 때 그 채널이 999900을 넘어 가는 경우는 고려하지 않는다 왜냐하면 이럴 경우..
2021.03.25 -
[백준/BOJ] 백준 2923번 : 숫자 게임
www.acmicpc.net/problem/2923 2923번: 숫자 게임 창영이와 현우는 새로운 게임을 하고 있다. 이 게임은 여러 라운드로 이루어져 있다. 매 라운드가 시작할 때, 현우는 창영이에게 100보다 작은 두 숫자 A와 B를 말해준다. 그러고 난 뒤, 창영이는 www.acmicpc.net temp_A의 작은수 + temp_B의 큰수 < temp_A의 작은수가 아닌 다른 수 + temp_B의 큰수 이므로 이 조합(temp_A의 작은수 + temp_B의 큰수)은 temp_B에서 큰 수를 골랐을때 어떠한 수 보다 작은 조합이 된다 그러므로 이러한 조합들 중 가장 큰 값을 구하는 방법으로 문제를 해결한다 코드 #include #include #include using namespace std; in..
2021.03.25 -
[백준/BOJ] 백준 20292번 : 컨설팅
www.acmicpc.net/problem/20292 20292번: 컨설팅 입력으로 최대 $10\ 000$줄의 명령어가 주어지며, WRITE문, READ문, EXIT문으로 구성된다. EXIT문은 마지막에 한 번만 주어진다. 각 명령어는 다음과 같이 정의되며, 메모리 이름은 $1$–$3$글자의 알파벳 www.acmicpc.net multimap write_from_to 와 multimap write_to_from 에 write 정보를 저장하고, set read에 read 정보를 저장하여 문제를 해결했다. 그리고 WAIT가 나오면 기록된 정보들을 지우는 방법으로 문제를 해결했다. #include #include #include #include #include #include #include using nam..
2021.03.25 -
[백준/BOJ] 백준 17092번 : 색칠 공부
www.acmicpc.net/problem/17092 17092번: 색칠 공부 크기가 H×W인 모눈종이가 있고, 1×1 크기의 칸으로 나누어져 있다. 이 중 N개의 칸은 검정색이고, 나머지 칸은 흰색이다. 3×3 크기의 모든 부분 모눈종이에 대해서, 검정색 칸의 개수가 i개인 것이 www.acmicpc.net 검정색 칸의 위치를 기준으로 해당 위치와, 주변 8방향 총 9곳을 확인하여 그곳이 중심인 3X3보드를 확인한다 그리고 중복해서 3X3보드를 확인하지 않기 위해 set check;에 3X3보드의 가운데 위치를 저장하여 중복을 체크했다. 코드 #include #include #include #include #include using namespace std; int h, w, n; int dxdy[9]..
2021.03.25 -
[백준/BOJ] 백준 20210번 : 파일 탐색기
www.acmicpc.net/problem/20210 20210번: 파일 탐색기 첫 줄에 문자열의 개수 N(2 ≤ N ≤ 10,000)이 주어진다. 그 다음 N줄에 정렬할 문자열이 한 줄에 하나씩 주어진다. 모든 문자열의 길이는 100 이하이며, 알파벳 대소문자와 숫자로만 이루어져 있다. www.acmicpc.net vector info[10000];에 입력된 문자열을 단어로 나눠서 저장을 한다, 그리고 정렬을 할 때 쓰는 비교 함수를 bool cmp(vector& a, vector& b) 이렇게 작성해서 문제를 해결했다. 코드 #include #include #include #include #include #include #include #include using namespace std; int n;..
2021.03.25 -
[백준/BOJ] 백준 15999번 : 뒤집기
www.acmicpc.net/problem/15999 15999번: 뒤집기 첫 줄에 격자의 초기 상태로 가능한 경우의 수를 1,000,000,007(109 + 7)로 나눈 나머지를 출력한다. www.acmicpc.net 4방향에 해당 위치 색깔과 다른 색깔이 있으면 해당 위치 색깔은 원본 색깔과 같다는 것을 이용해서 문제를 해결했다. 코드 #include #include #include #include #include #include using namespace std; int n, m; vector board; int dxdy[4][2] = { {0,-1},{-1,0},{0,1},{1,0} }; int main() { cin.tie(NULL); ios_base::sync_with_stdio(false)..
2021.03.25