https://www.acmicpc.net/problem/9610
1. 아이디어
if else if else 문으로 조건 분기만 잘하면 간단하게 해결할 수 있다.
2. 문제풀이
배열을 이용해서 점의 개수를 저장했다.
0번 인덱스는 축에 위치하는 점, 1번부터 4번 인덱스에는 1사분면부터 4사분면에 위치하는 점을 저장한 후 StringBuilder로 양식에 맞춰 출력하는 방식으로 구현했다.
3. 코드
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));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
int[] arr = new int[5];
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
if (x > 0) {
if (y > 0) arr[1]++;
else if (y < 0) arr[4]++;
else arr[0]++;
} else if (x < 0) {
if (y > 0) arr[2]++;
else if (y < 0) arr[3]++;
else arr[0]++;
} else {
arr[0]++;
}
}
sb
.append("Q1: ").append(arr[1]).append("\n")
.append("Q2: ").append(arr[2]).append("\n")
.append("Q3: ").append(arr[3]).append("\n")
.append("Q4: ").append(arr[4]).append("\n")
.append("AXIS: ").append(arr[0]).append("\n");
bw.write(sb.toString());
bw.flush();
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1676번 - 팩토리얼 0의 개수 [Java] (0) | 2025.01.02 |
---|---|
[백준] 10773번 - 제로 [Java] (0) | 2025.01.02 |
[백준] 5543번 - 상근날드 [Java] (0) | 2025.01.02 |
[백준] 2908번 - 상수 [Java] (0) | 2025.01.02 |
[백준] 1427번 - 소트인사이드 [Java] (0) | 2025.01.02 |