2024/12 76

JAVA) System.in.read()로 정수 입력받기

목차  📌System.in.read()💡System.in.read()의 주요 특징입력 데이터 처리한 번 호출 시 1바이트(8비트)를 읽음반환값은 0부터 255 사이의 정수 값.  ASCII 코드로 입력받음예:  'A'입력 -> 65만약 입력이 없으면 -1 반환 = EOF(End Of File)입력이 있을 때까지 프로그램 실행이 멈추는(블로킹) 방식으로 동작사용자가 키보드로 Enter를 누를 때까지 대기버퍼 사용사용자가 입력한 내용은 내부적으로 입력 버퍼에 저장System.in.read()는 버퍼에서 데이터를 하나씩 읽어온다. 예를 들어, 사용자가 abc\n를 입력하면:'a'를 읽고 반환'b'를 읽고 반환'c'를 읽고 반환'\n'(줄 바꿈 문자)를 읽고 반환입력은 문자로 다뤄짐입력값 은문자(ASCII..

백준 2869번 달팽이는 올라가고 싶다 (JAVA)

📌문제땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.입력첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B 출력첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.예제 입력 2 1 5예제 출력 4   📌답import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { p..

백준 1193번 분수찾기 (JAVA)

📌문제무한히 큰 배열에 다음과 같이 분수들이 적혀있다.1/11/21/31/41/5…2/12/22/32/4……3/13/23/3………4/14/2…………5/1……………………………이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.입력첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.출력첫째 줄에 분수를 출력한다. 예제 입력 7예제 출력 1/4  📌답 풀이)/** * idea) * 1. 대각선(/) 라인을 따라서 지그재그로 이동하므로 대각선 별로 분수들을 묶는다. * 예) (1/1) - 1열 * ..

백준 2292번 벌집 (JAVA)

📌문제  위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.출력입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.예제 입력 13예제 출력 3   📌답import java.io.*;public class Main { public static voi..

백준 2903번 중앙 이동 알고리즘 (JAVA)

📌문제상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.외계 지형은 중앙 이동 알고리즘을 이용해서 만들려고 한다.알고리즘을 시작하면서 상근이는 정사각형을 이루는 점 4개를 고른다. 그 후에는 다음과 같은 과정을 거쳐서 지형을 만든다.정사각형의 각 변의 중앙에 점을 하나 추가한다.정사각형의 중심에 점을 하나 추가한다.초기 상태에서 위와 같은 과정을 한 번 거치면 총 4개의 정사각형이 새로 생긴다. 이와 같은 과정을 상근이가 만족할 때 까지 계속한다.상근이는 어떤 점은 한 개 보다 많은 정사각형에 포함될 수 있다는 사실을 알았다. 메모리 소모량을 줄이기 위해서 중복..

백준 2720번 세탁소 사장 동혁 (JAVA)

📌문제(요약)거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개수를 최소로 하려고 한다. 예를 들어, $1.24를 거슬러 주어야 한다면, 손님은 4쿼터, 2다임, 0니켈, 4페니를 받게 된다.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C의 단위는 센트이다. (1달러 = 100센트) (1출력각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구..