java/백준 java 275

[자바/Java] 백준 5054번 주차의 신

문제 선영이는 쇼핑하러 긴 도로에 자주 간다. 선영이는 주차를 세상에서 가장 귀찮아 하기 때문에, 아무데나 주차를 한다. 주차를 한 후에는 가려고 했던 상점으로 걸어 간다. 어느 날, 선영이는 다리가 너무 아파서 병원에 갔다. 의사는 선영이에게 되도록 조금 걷거나, 쇼핑을 하지 말라고 했다. 선영이는 쇼핑을 버릴 수 없다. 그녀의 특기를 발휘해서 가장 좋은 주차 자리를 찾으려고 한다. 긴 도로는 일직선이다. 또, 모든 상점의 위치는 정수 좌표를 가지고 있다. 주차장은 모든 정수 좌표마다 하나씩 있으며, 선영이를 위해 항상 비어있다. 선영이는 주차비를 아끼기 위해서 쇼핑을 마치기 전 까지는 주차한 차를 이동시키지 않을 것이다. 선영이는 힘이 매우 세기 때문에, 자신이 쇼핑한 물건을 모두 들지 못하는 경우는..

java/백준 java 2023.05.15

[자바/Java] 백준 6321번 IBM 빼기 1

문제 '2001: 스페이스 오디세이'는 아서 C. 클라크의 소설이자 스탠리 큐브릭 감독의 영화이다. 이 작품에서 우주선은 토성으로 가고 있다. 긴 여행동안 선원들은 모두 정체 상태에 빠져있고, 두 선원은 깨어나 있다. 우주선은 인공지능 컴퓨터 HAL이 조정하고 있다. HAL은 점점 이상하게 행동하더니 선원들을 죽이기 시작했다. 자세한 이야기는 소설을 읽거나 영화를 보면 알 수 있다. 영화가 유명해지고 난 이후에 사람들은 '2001: 스페이스 오디세이'에 나오는 인공지능 컴퓨터인 HAL의 뜻에 관심을 가졌다. HAL은 휴리스틱 알고리즘 (Heuristic ALgorithm)의 약자이다. 하지만, HAL의 각 글자를 알파벳 다음 순서로 쓰면 IBM이 되기 때문에, IBM과 연관이 있다고 믿는 사람이 매우 많..

java/백준 java 2023.05.13

[자바/Java] 백준 2033번 반올림

문제 정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고, 이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고, 또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (이하 생략) 이러한 연산을 한 결과를 출력하시오. 입력 첫째 줄에 정수 N이 주어진다. (0 ≤ N ≤ 99,999,999) ex) 15 446 출력 첫째 줄에 위와 같은 연산을 한 결과를 출력하시오. ex) 20 500 코드 import java.util.*; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); ..

java/백준 java 2023.05.07

[자바/Java] 백준 17618번 신기한 수

문제 평소에 수에 대한 관심이 많은 아이인 민철이는 오늘도 노트에 연필로 수를 더하거나 빼거나 곱하거나 나눠보면서 시간을 보내고 있다. 그러다가 18이라는 수는 신기한 성질을 가진다는 것을 알아냈다. 18을 이루는 각 자릿수인 1과 8을 합한 9는 18의 약수가 된다. 민철이는 18과 같이 모든 자릿수의 합으로 나누어지는 수를 여러 개 더 찾아냈는데, 12, 21도 그런 신기한 수였다. 민철이는 이렇게 모든 자릿수의 합으로 나누어지는 수를 “신기한 수”라고 부르기로 했다. 민철이는 더 큰 신기한 수를 찾아보기도 했는데 1729도 신기한 수라는 걸 알아내었다. 1729는 1+7+2+9=19로 나누어진다. 민철이는 신기한 수가 얼마나 많은지 알고 싶었다. 주어진 자연수 N에 대해 N이하인 신기한 수는 총 몇..

java/백준 java 2023.05.05

[자바/Java] 백준 15813번 너의 이름은 몇 점이니?

문제 소윤이는 성필이에게 단단히 화가 났다. 성필이가 자꾸 소윤이의 이름을 놀리는 것이다! 극대노한 소윤이는 이름에 대해 많은 검색을 하던 도중 "이름점수"라는 것을 발견하게 된다. 이름 점수란, 알파벳 하나하나에 점수가 있고 이름에 들어가는 모든 알파벳 점수를 합한 것이라고 한다. 예를 들어 이름이 SUNG PIL 이라면, A = 1점 B = 2점 C = 3점 ... Z = 26점 인 점수판에 따라 S(19)+U(21) + N(14) + G(7) + P(16) + I(9) + L(12) = 98점이다. (즉, 점수는 알파벳 순서이다) 소윤이는 SO YOON이므로 S(19) + O(15) + Y(25) + O(15) + O(15) + N(14) = 103점으로 성필이보다 "이름점수"가 높았다! 그 사실을..

java/백준 java 2023.05.02

[자바/Java] 백준 15439번 베라의 패션

문제 베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다. 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까? 입력 입력은 아래와 같이 주어진다. N ex) 1 2 출력 상의와 하의가 서로 다른 색상인 조합의 가짓수를 출력한다. ex) 0 2 코드 import java.util.*; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); System.out.println(N*(N-1)); } }

java/백준 java 2023.04.28

[자바/Java] 백준 27959번 초코바

문제 밤고는 100원 동전을 N개 갖고 있고, 그 돈으로 가격이 M원인 초코바를 사 먹으려고 한다. 밤고는 갖고 있는 돈으로 초코바를 사 먹을 수 있는지 알고 싶어 한다. 밤고가 가진 돈이 초코바의 가격 이상이면 밤고는 초코바를 살 수 있다. 밤고가 가진 돈이 초코바를 사기에 충분한지 판단해주자. 입력 첫 번째 줄에 두 정수 N과 M이 공백을 사이에 두고 주어진다. ex) 30 300 5 10000 출력 밤고가 초코바를 살 수 있으면 Yes를, 없으면 No를 출력한다. ex) Yes No 코드 import java.util.*; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in..

java/백준 java 2023.04.25

[자바/Java] 백준 2154번 수 이어 쓰기 3

문제 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수에서 N이 등장하는 위치를 알고 싶다. 물론 1부터 N까지의 수를 이어 쓰는 것이므로 수의 가장 끝부분에서 N이 항상 등장하게 되지만, 그보다 일찍 등장하는 경우도 있다. 예를 들어 N=151인 경우, 다음과 같이 앞에서 20번째 숫자부터 151이 등장하게 된다. 1234567891011121314151617181920212223... N이 주어졌을 때, N이 가장 먼저 등장하는 위치를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. ex) 15 34 출력 첫째 줄에 N이 가..

java/백준 java 2023.04.05