반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q2006 : 앞으로 뒤로 (자바, JAVA)입니다.
Intro
Question
문제 설명
Nikky와 Byron이 체육시간에 바보 게임을 하고 있다.
Nikky는 a 걸음 앞으로 걸어 간 다음, b 걸음 뒤로 간다. 그 후 계속 a 걸음 앞으로 b 걸음 뒤로를 반복한다.
비슷하게 Byron도 c 걸음 앞으로 간 다음, d 걸음 뒤로 가는 것을 계속 반복한다.
Byron과 Nikky는 보폭이 같고, 같은 시간에 첫 걸음이 시작된다.
Nikky와 Byron은 축구장의 한쪽 끝에서 걷기 시작한다.
s 걸음후에 체육 선생님이 휘슬을 불었을 때, 시작 위치에서 가장 멀리 이동한 사람은 누구인가?
입력
5개의 정수 a, b, c, d, s가 차례대로 각 행에 입력된다.
( 1 <= a, b, c, d <= 100 , a >= b , c >= d, 1 <= s <= 10,000)
출력
s걸음 후에 휘슬을 불었을 때 시작위치로 부터 가장 멀리 떨어진 사람의 이름을 출력한다. (Nikky, Byron)
만약 같은 위치이면 "Tied" 를 출력한다.
예시
- 입력 :
4
2
5
3
12 - 출력 : Byron
Solution (풀이)
- 풀이 : 메모리 11144, 시간 : 62
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int c = Integer.parseInt(br.readLine());
int d = Integer.parseInt(br.readLine());
int s = Integer.parseInt(br.readLine());
int aStep = s;
int cStep = s;
int aEnd = 0;
int cEnd = 0;
while (true) {
if (aStep >= a) {
aEnd += a;
aStep -= a;
if (aStep >= b) {
aEnd -= b;
aStep -= b;
} else {
aEnd -= aStep;
break;
}
} else {
aEnd += aStep;
break;
}
}
while (true) {
if (cStep >= c) {
cEnd += c;
cStep -= c;
if (cStep >= d) {
cEnd -= d;
cStep -= d;
} else {
cEnd -= cStep;
break;
}
} else {
cEnd += cStep;
break;
}
}
System.out.println(aEnd > cEnd ? "Nikky" : aEnd == cEnd ? "Tied" : "Byron");
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1953 : 삼각형 출력하기 1 (0) | 2022.11.25 |
---|---|
[CodeUp_Java] Q1990 : 3의 배수 판별하기 (0) | 2022.11.25 |
[CodeUp_Java] Q2001 : 최소 대금 (0) | 2022.11.25 |
[CodeUp_Java] Q2007 : 오름차순? 내림차순? 1 (0) | 2022.11.24 |
[CodeUp_Java] Q2009 : 아메리카노 (0) | 2022.11.24 |