본문 바로가기

알고리즘/🥉 브론즈

백준 14681 사분면 고르기 자바 풀이

728x90

난이도 : 브론즈5

풀이일 : 04123

https://www.acmicpc.net/problem/14681

 

14681번: 사분면 고르기

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

www.acmicpc.net


링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐


1차 시도 실패 -> 런타임 에러

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc1 = new Scanner(System.in);
		int a = sc1.nextInt();
		Scanner sc2 = new Scanner(System.in);
		int b = sc2.nextInt();
		
		if(a>0) {
			if(b>0)
				System.out.println("1");
			else 
				System.out.println("4");
			}
		
		else {
			if(b>0)
				System.out.println("2");
			else
				System.out.println("3");
			}
	}
}

틀린 이유

  • 숫자 두개를 입력 받는 방법을 몰라 스캐너를 두개 썼더니 런타임에러 발생

최종 정답

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		
		if(a>0) {
			if(b>0)
				System.out.println("1");
			else 
				System.out.println("4");
			}
		
		else {
			if(b>0)
				System.out.println("2");
			else
				System.out.println("3");
			}
	}
}

코드 변화

  • 스캐너 한 개에 숫자 두개 모두 변수로 할당

느낀점

파이썬처럼 배우고 나서 문제를 푸는 게 아니라 찾아보면서 푸는거라 더 재밌다