분류 전체보기 228

[BOJ] 1292 - 쉽게 푸는 문제

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 난이도: 실버 4 사용언어: JAVA 우선 1이 한 번, 2는 두 번, 3은 세 번... 반복되는 수열을 만듭니다. 이를테면 122333444455555666666... 과 같은 형태이죠. 여기서 A와 B가 주어지면 수열에서 A에서부터 B까지의 합을 구하는 문제입니다. 풀이 저는 B 크기의 배열을 하나 만들어 배열의 각 원소에 해당 번호까지의 합을 저장했습니다. 즉 ..

[BOJ] 20117 - 호반우 상인의 이상한 품질 계산법

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/20117 20117번: 호반우 상인의 이상한 품질 계산법 어떤 묶음에 있는 호반우의 품질이 [1, 2, 3, 4] 라고 하면 중간값인 3으로 모든 호반우의 품질을 계산한다. 따라서 이 묶음의 총 가격은 3 × 4 = 12 가 된다. 품질이 [6, 3, 9] 라고 하면 중간값인 6으로 www.acmicpc.net 난이도: 실버 1 사용언어: JAVA 호반우는 품질에 따라 등급이 숫자로 매겨집니다. 호반우 상인들은 N개의 호반우를 개별적으로, 또는 묶음으로 판매할 수 있습니다. 그리고 등급과 같은 가격으로 호반우를 판매합니다. 호반우 상인들은 이윤을 최대화하기 위해 묶음으로 호반우를 판매할 경우,..

[BOJ] 1590 - 캠프가는 영식

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/1590 1590번: 캠프가는 영식 첫째 줄에 버스의 개수 N과 영식이가 버스터미널에 도착하는 시간 T가 주어진다. 둘째 줄부터 총 N개의 줄에 각 버스의 시작 시각, 간격, 대수가 공백을 사이에 두고 주어진다. 버스의 개수와 각 www.acmicpc.net 난이도: 실버 1 사용언어: JAVA 영식이는 버스를 타야합니다. 버스터미널에는 N개의 종류의 버스가 존재하고, 영식이가 버스터미널에 도착한 시간은 T입니다. 각각의 버스는 첫 차 시간, 간격, 총 대수의 정보를 가지고 있습니다. 만일 버스에 대한 정보가 150 50 10으로 주어진다면, 해당 버스의 첫 차 시간이 150이고, 50분 간격으..

[BOJ] 2493 - 탑

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 난이도: 골드 5 사용언어: JAVA N개의 높이가 모두 서로 다른 탑들이 일렬로 줄지어 있습니다. 각각의 탑들은 모두 좌측을 향해 꼭대기에서 레이저를 발사합니다. 이때, 특정 탑에서 쏜 레이저는 좌측에 있는 자신보다 높은 탑들 중 가장 가까운 탑에 수신될 것입니다. 만약 수신되는 탑이 없다면 0을 출력하고, 그 외의 경우에는 각 탑에서 쏜 ..

[BOJ] 10026 - 적록색약

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 난이도: 골드 5 사용 언어: JAVA 적록색약은 빨간색과 초록색을 구별하지 못합니다. 그래서 적록색약인 사람이 그림을 보면 일반인이 보는 것과는 조금 다를 수 있습니다. NxN 크기의 그림에 빨강, 초록, 파랑 세 가지 색을 이용해 색칠이 되어 있습니다. 그리고 이 색깔들에 의해 구역이 나누어져 있습니다. 같은 색깔들끼리 뭉쳐있으면, ..

[BOJ] 1303 - 전쟁 - 전투

-개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 난이도: 실버 1 사용 언어: JAVA 전쟁터에서 전쟁이 벌어지고 있습니다. 흰 옷을 입은 아군과, 파란 옷을 입은 적군이 뒤섞여 전투를 벌이고 있습니다. 그런데 같은 팀 군인들끼리 뭉쳐있으면, 뭉쳐있는 사람들의 수만큼 전투력이 증가하게 됩니다. N명이 뭉쳐있다면, N^2의 전투력을 발휘할 수 있습니다. 뭉쳐있다는 것..

[BOJ] 1149 - RGB거리

-개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 난이도: 실버 1 사용 언어: JAVA N개의 집이 일렬로 쭉 세워져 있는 RGB거리가 있습니다. 각각의 집을 빨강, 초록, 파란색 중 하나를 선택해서 칠해야 하며, 각각의 색깔로 칠하는데 드는 비용은 모두 다르며, 비용은 입력으로 주어집니다. 그리고 규칙이 하나 존재하는데, 바로 모든 집은 앞, 그리고 뒤의 집과 색깔이..

[BOJ] 2178 - 미로 탐색

-개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 난이도: 실버 1 사용 언어: JAVA 아래의 그림과 같이 NxM 배열로 표현되는 미로에서 1은 이동할 수 있는 칸을, 0은 이동할 수 없는 칸을 나타냅니다. 이때 가장 좌측 상단에서 출발하여, 가장 우측 하단까지 이동할 때 지나야 하는 최소의 칸 수를 구하는 문제입니다. 위의 예시에서는 최소 15칸을 지나야 가장 우측 하단에 닿을 수 있습니다. 칸을 셀 때는 시작 위치와 ..

[BOJ] 1743 - 음식물 피하기

-개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ 10,000)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진 www.acmicpc.net 난이도: 실버 1 사용 언어: JAVA 식당 바닥에 음식물이 바닥에 여러 개 떨어져 있는데, 음식물들이 인접해있으면, 큰 음식물 쓰레기로 간주합니다. 인접해있다는 것은 한 음식물 상하좌우에 다른 음식물이 존재하는 경우를 말합니다. 입력으로부터 식당 바닥의 크기와, 떨어진 음식물의 위치 정보를 받아와..

[BOJ] 11726 - 2xn 타일링

-개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 설명 www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 난이도: 실버 3 사용 언어: JAVA 문제는 간단합니다. 2xn 크기의 직사각형을 1x2, 2x1 크기의 타일로 채우는 방법의 수를 구하면 되고, 아래의 그림은 2x5 크기의 직사각형을 채운 한 가지 방법의 예시입니다. 입력 값으로는 n이 주어지며, 2xn 크기의 직사각형을 채우는 방법의 수를 10.007로 나눈 나머지를 출력하면 됩니다. 풀이 이 문제는 다이나..