[백준]자료구조는 정말 최고야

백준 온라인 저지

자료구조는 정말 최고야

링크 : 문제 바로가기

원래는 파이썬을 공부하며 여러 온라인 저지 사이트의 알고리즘 문제들을 풀었었는데, 최근 자바를 공부하며 알고리즘 문제들을 멀리 하였다. 하지만 지금은 어느정도 자바에 대한 감도 생긴 것 같아 알고리즘 문제를 자바를 기반으로 풀어보려고 한다. 아직 자바에 대한 이해가 완벽하지는 않기 때문에 알고리즘의 난이도보다는 단순한 알고리즘 문제를 자바를 이용해 푸는 과정을 통해 자바 숙련도를 높이는 목적이다.

1. 입력값 받기

1) 사용자로부터 입력값을 받기 위해 java.util패키지에 포함된 Scanner클래스를 이용한다.

import java.util.Scanner;

2) Scanner객체를 만들고 system.in으로 바이트 단위로 값을 읽는다.

Scanner 객체명 = new Scanner(System.in); 

3) Scanner는 다양한 메서드를 제공한다.

  • nextInt()
  • nextDouble()
  • nextLine()
  • next()

2. 출력하기

자바를 공부할 때 System.out.println()을 사용해서 다른 출력 명령어가 있는 것은 몰랐는데 다른 명령어도 있음을 알았다.

  1. System.out.printf(“서식”,내용)
    • 출력 이후 개행하지 않는다.(다음 줄로 넘어가지 않음)
    • 출력하려는 값의 수만큼 지시자를 사용한다.
    • 출력값과 지시자의 순서가 같아야 한다.
    • 지시자를 제외하면 그대로 출력된다.

printf를 이용해 출력 후 다음줄로 넘어가기 위해서는 \n 을 사용해주어야 하고, 여기서 지시자란 파이썬에서 포매팅의 개념과 비슷하다.
ex)

int a=100;
String b="경기도";

System.out.printf("a는 %d, b는 %s이다.%n",a,b);
  1. System.out.print(“내용”)
    print는 단순한 출력으로 개행문자 /n 을 써도 적용되지 않는다.

풀이

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n;
		int m;
		int m2;
		int booknum;
		int booknum2;
		int result=0;
		
		n = sc.nextInt();
		m = sc.nextInt();
		for (int cnt = 0; cnt < m; cnt++) {
			m2 = sc.nextInt();
			
			booknum = sc.nextInt();
			for (int cnt2 = 0; cnt2 < m2-1; cnt2++) {
				booknum2 = sc.nextInt();
				if (booknum2>booknum) {
					result+=1;
				}else {
					booknum=booknum2;
				}
				
			}
		}
//		System.out.println(books);
//		System.out.println(result);
		if (result>0) {
			System.out.println("No");
		}else {
			System.out.println("Yes");
		}
		
		
	}

}

알고리즘 : 구현,애드혹,스택

results matching ""

    No results matching ""