본문 바로가기

전체 글

백준 13907 세금 https://www.acmicpc.net/problem/13907 13907번: 세금 첫 번째 줄에 세 정수 N (2 ≤ N ≤ 1,000), M (1 ≤ M ≤ 30,000), K (0 ≤ K ≤ 30,000)가 주어진다. 각각 도시의 수, 도로의 수, 세금 인상 횟수를 의미한다. 두 번째 줄에는 두 정수 S와 D (1 ≤ S, D ≤ N, S ≠ D www.acmicpc.net 주언이는 경제학을 배워 행상인이 되었다. 두 도시를 오가며 장사를 하는데, 통행료의 합이 가장 적은 경로로 이동하려 한다. 도시들은 양방향 도로로 연결되어있으며, 도로마다 통행료가 존재한다. 그런데 정부는 세금 인상안을 발표하였다. 세금을 한 번에 올리면 문제가 발생할 수 있으므로 여러 단계에 걸쳐서 올린다고 한다. 세금이 .. 더보기
백준 문자열제곱 4354 https://www.acmicpc.net/problem/4354 4354번: 문자열 제곱 문제 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다면, 음이 아닌 정수의 제곱도 정의할 수 있다. a^0 = "" (빈 문자열) a^(n+1) = a*(a^n) 문자열 s가 주어졌을 때, 어떤 문자열 a에 대해서 s=a^n을 만족하는 가장 큰 n을 찾는 프로그램을 작성하시오. www.acmicpc.net KMP 알고리즘에서 사용되는 prefix 테이블을 이용하여 풀 수 있는 문제다. prefix테이블이란 문자열의 접두어(prefix)와.. 더보기
SWEA [모의 SW 역량테스트] 등산로 조성 package swea; import java.util.*; import java.io.*; public class 등산로조성 { public static class MyScanner { BufferedReader bf; StringTokenizer st; MyScanner() { bf = new BufferedReader(new InputStreamReader(System.in)); } String next() { while (st == null || !st.hasMoreTokens()) { try { st = new StringTokenizer(bf.readLine()); } catch (Exception e) { e.printStackTrace(); } } return st.nextToken(); .. 더보기
백준 14437 준오는 심술쟁이!! https://www.acmicpc.net/problem/14437 14437번: 준오는 심술쟁이!! s(1 ≤ s ≤ 3000)와 알파벳 소문자로 이루어진 문제 이름(1 ≤ 길이 ≤ 3000)이 주어진다. 문제 이름에 공백은 없으며, 불가능한 입력(s < k, 25*길이 < s 등)은 없다. www.acmicpc.net 준오는 BOJ 서버가 문제를 찾을 수 없도록 문제의 이름을 암호화해버렸다. 문제 이름은 알파벳 소문자로만 이루어져 있다. 암호화 과정은 다음과 같다. 준오는 문제 이름에서 아무 문자나 골라 k(1 ≤ k ≤ 25)만큼 바꿔버린다. 예를 들어, a를 3만큼 바꾸면 d로, z를 1만큼 바꾸면 a로 바뀐다. 문자를 바꿀 때마다 k를 다시 고른다. k의 합이 s가 될 때까지 문자를 계속 바꾼다.. 더보기
SWEA [모의 SW 역량테스트] 보물상자 비밀번호 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo&categoryId=AWXRUN9KfZ8DFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 각 변에 다음과 같이 16진수 숫자(0~F)가 적혀 있는 보물상자가 있다. 보물 상자의 뚜껑은 시계방향으로 돌릴 수 있고, 한 번 돌릴 때마다 숫자가 시계방향으로 한 칸씩 회전한다. 각 변에는 동일한 개수의 숫자가 있고, 시계방향 순으로 높은 자리 숫자에 해당하며 하나의 수를 나타낸다. 예를 들어 [Fig.1]의 수는.. 더보기
백준 15824 너 봄 캡사이신이 맛있단다. https://www.acmicpc.net/problem/15824 15824번: 너 봄에는 캡사이신이 맛있단다 한 줄에 모든 조합의 주헌고통지수 합을 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net 스코빌 지수 배열이 주어졌을때 주헌고통지수 조합을 구하는 문제다. 주헌 고통지수는 조합이 만들어졌을때 스코빌 지수의 최대값 - 최소값이다. 예를 들어 [5,2,8] 조합을 골랐을때 주헌고통지수는 8-2 = 6이다. [t0,t1,t2,t3... tn-1] 이라는 크기가 n인 스코빌 지수 배열이 있다고 가정하자. (t0 더보기
백준 1422 숫자의 신 https://www.acmicpc.net/problem/1422 1422번: 숫자의 신 첫째 줄에 K와 N이 공백을 사이에 두고 주어진다. K와 N은 각각 1,000보다 작거나 같은 자연수이고, N은 K보다 크거나 같다. 둘째 줄에는 K개의 수가 한 줄에 하나씩 주어진다. 각 수는 1,000,000,000보다 작거나 같은 자연수이다. 이 수는 중복되어 들어올 수 있다. 만약 중복되어서 들어오는 경우에는 각 수가 적어도 입력으로 주어진 만큼 이용되어야 한다는 소리다. www.acmicpc.net 숫자 K개중에 N개를 뽑고 그수를 붙여서 만들수 있는 가장 큰 수를 만드는 문제이다. (단 N>=K이다.) 숫자 K개는 무조건 한번 이상은 써야하고 (N-K)만큼은 중복되서 사용해야한다. 중복의 횟수에 제한이 없.. 더보기
백준 1669멍멍이 쓰다듬기 https://www.acmicpc.net/problem/1669 1669번: 멍멍이 쓰다듬기 동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍멍이보다 키가 작기 때문에 멍멍이를 쓰다듬어줄 수 없다. 원숭이가 멍멍이를 쓰다듬으려면 둘의 키가 같아야 하기 때문이다. 그래서 원숭이는 그 날부터 자신의 키를 조절하기로 마음먹었다. 원숭이는 초능력자이기 때문에 마음대로 키를 늘릴 수 있다. 하지만 안타깝게도 사람이 아니라 www.acmicpc.net 원숭이와 멍멍이가 있는데 둘의 키는 각각 X,Y 이다 0 더보기