728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//만들어야 할 길이
int X = Integer.parseInt(br.readLine());
//첫 막대기 길이
int stick = 64;
//남아있는 막대기 길이
ArrayList<Integer> all = new ArrayList<>();
//all 안에 들어있는 막대기 모든 길이
int allStick = 0;
//while문으로 막대 길이와 남아있는 막대 길이가 X보다 작거나 같아질 때까지 반복
while (stick + allStick > X) {
//막대기를 절반으로 자르고
stick /= 2;
//절반으로 잘린 막대 길이와 남아있는 막대기 모든 길이의 합이 X보다 작으면
if (stick + allStick < X) {
//다른 절반으로 잘린 막대기는 보관
all.add(stick);
allStick += stick;
}
}
//stick은 따로 추가해줘야하기 때문에 +1을 해줌
System.out.println(all.size()+1);
}
}
문제 | 결과 | 메모리 | 시간 | 코드 길이 |
1094 | 맞았습니다!! | 14328 KB | 128 ms | 503 B |
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 - 1991번 : 트리 순회 (0) | 2022.08.08 |
---|---|
[Java] 백준 - 1259번 : 팰린드롬수 (0) | 2022.08.05 |
[Java] 백준 - 4344번 평균은 넘겠지 (0) | 2022.08.03 |
[Java] 백준 - 1236번 성 지키기 (0) | 2022.08.03 |
[Java] 백준 - 1032번 명령 프롬프트 (0) | 2022.08.02 |