STUDY/programing

자바 기초, 왕초보 문제 풀이 - 1 (백준 알고리즘 2557, 1000, 11718, 10430, 2839, 2739, 2439, 1924, 11720)

NightOwl 2018. 9. 21. 22:10
728x90
 지난 포스팅 컴알못을 위한 자바 설치법  2018/05/15 - [ 컴알못/Java] - 컴알못의 JAVA - 자바 시작하기 (자바설치, 개발 환경 설정) 단계별로 이후에 기초 실력점검을 위해 단계별로 풀어보기 순서로 풀어보았고, 아래는 그 중 대표적인 문제의 소스를 정리해 본 것이다.





문제 2557. Hello World


Hello world를 출력합니다.


문제 2557 성공 소스

 모든 프로그램 수업의 첫 수업은 헬로월드 출력하기였다.  

백준 단계별로 풀어보기 순서대로 문제를 풀고있는데, 역시나 첫문제는 헬로월드.
syso에서 ctrl+space, enter하면 system.out.println이 자동완성 된다.
" "를 사용하여 문자열을 출력한다.

public class Main {

	public static void main(String[] args) {
		System.out.println("Hello World!");
	}

}











문제 1000. A+B


두 정수 A와 B를 입력받고 A+B를 출력합니다.


문제 1000 성공 소스


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		int A, B, addresult;

		Scanner scn = new Scanner(System.in);
		
		A = scn.nextInt();
		B = scn.nextInt();
		
		addresult = A + B;
		
		System.out.println(addresult);
		
		
		
	}

}





문제 11718. 그대로 출력하기

 입력 받은 그대로 출력하는 프로그램을 작성합니다.


문제 11718 성공 소스


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		while(sc.hasNext()) {
			System.out.println(sc.nextLine());
		}

	}

}





문제 10430. 나머지

(A+B)%C = (A%C + B%C)%C ?
(A×B)%C = (A%C × B%C)%C ?
세 수 A, B, C를 입력받고
첫째 줄 : (A+B)%C
둘째 줄 : (A%C + B%C)%C
셋째 줄 : (A×B)%C
넷째 줄 : (A%C × B%C)%C
위와 같이 출력합니다.


문제 10430 성공 소스


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();
		int C = sc.nextInt();
		
		System.out.println((A+B)%C);
		System.out.println((A%C+B%C)%C);
		
		System.out.println((A*B)%C);
		System.out.println((A%C*B%C)%C);
		sc.close();

	}

}





문제 2839. 설탕배달


킬로그램이 스캐너로 입력되었을때,
상근이가 배달해야하는 봉지의 최소 개수를 출력합니다.
만약 3킬로그램 혹은 5킬로그램 봉지로 딱 떨어지게 만들 수 없다면 -1을 출력합니다.


문제 2839 성공 소스



import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int sugar = sc.nextInt();
	
		if(sugar%5 ==0) {
			System.out.println(sugar/5);
			return;
		}else {
			int five = sugar/5;
			for(int i=five; i>0; i--) {
				int tempsugar = sugar-(i*5);
				if(tempsugar %3 == 0) {
					System.out.println(i+(tempsugar/3));
					return;
				}
			}
		}
		if(sugar%3==0) {
			System.out.println(sugar/3);
		}else {
			System.out.println(-1);
		}
		}
}






문제 2739. 구구단 (for문)

자연수 N을 입력받고 구구단 N단을 출력합니다. ( 1<= N <= 9 )

문제 2739 성공 소스


 import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();
			
		sc.close();
			
		for(int j = 1; j <= 9; j++) {
			System.out.println(i + " * " + j +" = "+ i*j);
		}
	
		
		
	}

}






문제 2439 별찍기 - 2

첫째 줄에는 별 1개     *
둘째 줄에는 별 2개    **
... N번째 줄에 별 N개를 출력하세요.(오른쪽 정렬)

문제 2439 성공 소스


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
	
		for(int line = 0; line < n; line++) {
			for(int a = 0; a < n-line-1; a++) {
				System.out.print(" ");
			}
			for(int b = 0; b < line+1; b++) {
				System.out.print("*");
			}
			System.out.println();
		}
		sc.close();
	}
}








문제 1924. 2007년

2007년 1월 1일은 월요일일때 2007년 x월 y일은 무슨요일인지 출력하세요.

문제 1924 성공 소스



import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int month = sc.nextInt();
		int day = sc.nextInt();
		
		sc.close();
		
		int cnt = 0;		
		int[] days = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
		
		for(int n=1; n < month; n++)
			cnt += days[n];
		
		
		cnt += day;
		
		switch(cnt % 7) {
		case 1:
			System.out.println("MON");
			break;
		case 2:
			System.out.println("TUE");
			break;
		case 3:
			System.out.println("WED");
			break;
		case 4:
			System.out.println("THU");
			break;
		case 5:
			System.out.println("FRI");
			break;
		case 6:
			System.out.println("SAT");
			break;
		case 0:
			System.out.println("SUN");
			break;			
		}
	}

}






문제 11720 숫자의 합

첫째줄에 숫자의 개수를 n을 입력받고, 둘째줄에 숫자 n개를 연속으로 입력합니다.
이때 입력된 숫자들의 합을 출력합니다.

문제 11720 성공 소스


import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		String a = sc.next();
		sc.close();
		
		int sum = 0;
		for(int i = 0; i < n; i++) {
			sum += a.charAt(i) - '0';
		}
		System.out.println(sum);
	}

}



728x90