공부하기/백준

[Java] 백준 풀기 17201 - 자석 체인

XEV 2023. 4. 20. 23:47

자바 백준 17201번

브론즈 2

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

 

17201번: 자석 체인

현재 주어진 자석의 상태를 보고 모두 연결되어있으면 "Yes", 모두 연결되어 있지 않은 상태라면 "No"를 한 줄에 출력한다. 단, 출력할 경우엔 인용 부호("")를 생략해야 하며 대소문자를 맞춰야 한

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

문제 풀기

문제에서 주어지는 자석의 개수는 중요하지 않다.

주어진 숫자열에서 1 과 2 가 번갈아 나오는지 확인만 한다.

그리고 첫번째 숫자가 무엇인지 중요하지 않다.

서로 붙어있는 숫가 같은지 확인만 한다.

 

불리언으로 boolean isLinked = true; 로 초기화하고 각 숫자를 array 에 모두 넣고 순서차적으로 두 개씩 빼낸다. 두 개의 숫자가 같은 경우가 생기면 isLinked = false; 로 변경을 하며 모든 array 확인이 끝났을때 isLinked 의 결과에 따라 조건 분리하여 "Yes" 또는 "No" 를 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        
        Scanner sc = new Scanner(System.in);
        
        int magnet = sc.nextInt();
        char[] magnetpolarity = sc.next().toCharArray();
        
        boolean isLinked = true;
        for (int i = 0; i < magnetpolarity.length - 1; i++) {
            if (magnetpolarity[i] == magnetpolarity[i + 1]) {
                isLinked = false;
            }
        }
        
        if (isLinked == true) System.out.print("Yes");
        else if (isLinked == false) System.out.print("No");

    }
}