분류 전체보기
-
[BOJ] 백준 10026 적록색약 c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 5. 18:24
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제설명 적록색약인 사람과 아닌 사람이 보는 그림의 구역 수를 찾는 문제 주어진 그리드에서 연속적으로 색칠된 영역(구역)의 수를 각각 계산해야 함 적록색약이 아닌 사람은 빨간색(R), 초록색(G), 파란색(B)을 모두 구별할 수 있기 때문에, 이들이 본 그림에서 각 색깔별로 구역을 분리하여 계산하고, 적록색약인 사람은 빨간색과 초록색의 차이를 구별하지 못하기 때문에 이 두 색을 동일한 색상..
-
[BOJ] 백준 9019 DSLR c++ 코드 / 풀이카테고리 없음 2023. 11. 5. 18:16
https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 문제해설 0 이상 10,000 미만의 정수를 저장할 수 있는 단일 레지스터 있을 때 레지스터에 저장된 숫자에 대해 네 가지 명령을 수행할 수 있으며, 각각은 다음과 같음 D (Double): 레지스터의 값에 2를 곱함. 결과가 9999를 초과하면 10,000으로 나눈 나머지를 취함 S (Subtract): 레지스터의 값에서 1을 뺌. 값이 0인 경우 대신 9999를 저장 L (Left..
-
[BOJ] 백준 7569 토마토 c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 5. 17:59
https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 문제설명 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 이 문제의 3차원 버전? 익은 토마토와..
-
[BOJ] 백준 5430 AC c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 5. 17:26
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제해설 한줄로 된 명령어를 받아서 입력 받은 배열에 연산을 진행 한 후 결과 값을 출력하는 문제 배열은 숫자 배열이고, R 함수는 배열의 순서를 뒤집고, D 함수는 배열의 첫 번째 요소를 버림 만약 배열이 비어 있는 상태에서 D 함수를 호출하면 에러가 발생 ex) [1,2,3,4] => R 명령어 실행 시 [4,3,2,1] [1,2,3,4] => D 명령어 실행 시 [2,3,4] 문제풀이 처음에는 문제를 단순하게 생각하고 문자열로 입력 받은 배열을 파..
-
[BOJ] 백준 15683 감시 c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 2. 01:20
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 문제해설 문제에 상당히 설명히 상세하게 되어있어서 아마 문제 자체를 이해하는 건 어렵지 않다고 생각함 최대 8x8 칸의 사무실이 있을 때 최대 8대의 cctv가 랜덤한 공간에 있고 각 cctv는 5가지의 형태가 존재함 이때 각 칸의 값이 0이면 빈칸, 1~5면 cctv 6이면 벽이라고 할 때 감시 할 수 없는 칸(사각지대)의 최소값을 구하면 됨 대신 귀찮아지는게 cctv 1~4는 90도..
-
[BOJ] 백준 16953 A → B c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 1. 21:20
https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제해설 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 간단하게 A에 2를 곱하거나 1을 붙이는 과정을 반복해서 B를 만들 때 필요한 연산의 최솟값을 구하면 됨 문제풀이 A x 2 or A*10+1을 반복해서 B를 만들고 이 과정에서 연산의 최솟값을 구하는 것 위 그림처럼 A가 2일 때 2를 곱하거나 뒤에 1을 붙이는 과정을 계속 반복(BFS로) 만들 수 없다면 -1을 출력 BFS로 연산의 결..
-
[BOJ] 백준 23246 Sport Climbing Combined c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 1. 17:37
https://www.acmicpc.net/problem/23246 23246번: Sport Climbing Combined 입력은 표준입력을 사용한다. 첫째 줄에 선수의 명수를 나타내는 양의 정수 $n$ ($3 \le n \le 100$)이 주어진다. 이어 $n$개의 줄 각각에 네 정수 $b_i$, $p_i$, $q_i$, $r_i$가 주어지는데, $b_i$는 $i$번째 선수 www.acmicpc.net 문제해설 난이도 자체가 낮기에 문제도 엄청 쉬운 편 간단하게 그냥 세가지 종목의 순위를 곱한게 선수의 점수가 되고, 점수가 같을 경우 순위의 합산 점수가 낮은 선수가 이기는 것 위의 기준을 적용해서 오름차순으로 정렬하고 1,2,3등을 출력해주면 되는 문제 문제풀이 먼저 순위를 곱한 걸 점수로, 점수가 ..
-
[BOJ] 백준 1107 리모컨 c++ 코드 / 풀이Algorithm/BOJ 2023. 11. 1. 17:15
https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net 문제해설 N으로 이동해야할 채널의 숫자가 주어지고 이후에 사용할 수 없는 버튼의 목록이 입력으로 주어짐 사용 가능 한 버튼과 채널을 하나씩 이동하는 +, -로만 N에 도달해야됨. 우리가 리모컨 쓸 때 처럼 목표 채널을 눌러서 하는 이동과, 채널 위아래 버튼을 통한 이동이 가능한 것 문제풀이 보고 생각난 건 브루트 포스랑 BFS를 통해 푸는 방법이었음 브루트 포스는 단순하게 그냥 ..