자바 백준 13118번
브론즈 4
https://www.acmicpc.net/problem/13118
13118번: 뉴턴과 사과
첫 번째 줄에 사람들의 위치를 나타내는 네 정수 p1, p2, p3, p4 (−109 ≤ p1 < p2 < p3 < p4 ≤ 109)가 공백을 사이로 두고 주어진다. i번 (1 ≤ i ≤ 4) 사람은 (pi, 0) 위에 서 있다. 두 번째 줄에 사과의 정보
www.acmicpc.net
문제 보기

분류: 구현
문제 풀기
주어진 원과 사람이 충돌이 일어나기 위해서는 원의 중심 x 좌표가 사람의 좌표와 같아야 한다. 따라서 이 문제에서 주어지는 y 좌표와 r 값은 문제를 푸는데 필요하지 않다.
네 사람의 좌표들를 array 에 순차적으로 입력받고 하나씩 빼내어 x 좌표와 같은지 확인한다. 만약 같다면 index + 1 을 하여 그 값을 출력한다.
이때, 충돌이 일어나지 않는 경우인 x 좌표와 사람의 좌표가 맞지 않는 경우가 생길 수 있는데 이를 위해 boolean 으로 isCrash = false 로 초기화한 후 x 좌표와 사람의 좌표가 일치하는 경우가 있으면 true 로 바꿔주고 그렇지 않으면 false 로 유지되게 한다. 이 isCrash 가 false 인 마지막 조건으로 두어 위에서 일치하는 조건이 없을때 0 을 출력하게 한다.
코드 보기
import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int[] pointArr = new int[4]; for (int i = 0; i < 4; i++) { pointArr[i] = sc.nextInt(); } int x = sc.nextInt(); int y = sc.nextInt(); int z = sc.nextInt(); boolean isCrash = false; for (int i = 0; i < 4; i++) { if (pointArr[i] == x) { System.out.print(i + 1); isCrash = true; } } if (isCrash == false) { System.out.print(0); } } }
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 17010 - Time to Decompress (0) | 2023.04.18 |
---|---|
[Java] 백준 풀기 4592 - 중복을 없애자 (0) | 2023.04.17 |
[Java] 백준 풀기 12778 - CTP공국으로 이민 가자 (0) | 2023.04.15 |
[Java] 백준 풀기 2975 - Transactions (0) | 2023.04.14 |
[Java] 백준 풀기 13698 - Hawk eyes (0) | 2023.04.13 |