목록알고리즘 (192)
곽로그
1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 접근 월, 일이 주어졌을 때 해당하는 요일을 구하는 문제이다. 요일은 7요일이다. 따라서 일수를 7로 나눈 나머지가 같은 일은 같은 요일이 된다. 예를 들어 월 화 수 목 금 토 일 1 2 3 4 5 6 7 8 9 10 11 12 13 14 이렇게 주어졌다고 할 때 1일 과 8일은 월요일인데, 1과 8은 7로 나눈 나머지가 1이다. 마찬가지로 2와 9는 7로 나눈 나머지가 2로 같다. 따라서 주어진 월, 일이 1월 1일 부터 경과된 총..
2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 접근 별찍기 -3과 같은 문제인데, 공백만 추가된것 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int N=in.nextInt(); for(int line=0;line
https://www.acmicpc.net/problem/2440 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 접근 앞선 다른 별찍기 문제처럼 이중포문을 이용해서 해당하는 별 모양을 출력하는 문제이다. 각행이 하나씩 증가할때마다 *의 수가 어떻게 변하는 지를 보면 된다. 예를 들어 입력받은 N=5라고 가정하자 0행 ***** 5번(=N-0) 1행 **** 4번(=N-1) 2행 *** 3번(=N-2) 3행 ** 2번(=N-3) 4행 * 1번(=N-4) 이렇게 하나씩 관계를 써나가면 쉽게 풀 수 있다. import java.util.Scanner; public class Main { public sta..
문제출처 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이방향 별찍기 1과 비슷한 문제인데 공백이라는 조건이 하나가 더 추가가 됬다. 따라서 공백에 대한 조건을 처리하기 위해 공백을 다루기 위한 변수를 하나 더 추가해주면 된다. 예를 들어 5라고 하면 1행 oooo* 2행 ooo** 3행 oo*** 4행 o**** 5행 ***** 이렇게 변한다. 각각의 공백의 개수와 별의 개수가 행의 넘버와 어떤 관계가 있는지를 보면 1행 oooo* 공백 5-1개, 별 1개 2행 ooo** 공백 5..
문제 출처 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 풀이방향 입력받은 숫자 만큼 행이 존재하고, 각 행에는 행의 넘버 만큼의 별이 출력되도록 하는 문제이다. 예를들어 입력받은 숫자가 5라고 하면 1행 * 2행 ** 3행 *** 4행 **** 5행 ***** 이렇게 출력을 해야한다. 따라서 행에 대한 변수가 필요하고, 별을 출력할때 별의 갯수를 세기위한 변수가 필요하다. 따라서 이중 for문을 이용해서 별을 출력하면 된다. import java.util.Scanner; public class Main { public static void mai..
* 출력 형식에 주의 해야한다. 띄어쓰기 안하면 틀렸다고 처리가 된다. 1. for문 이용 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int N=in.nextInt(); for(int i=1;i
1.for문 사용 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int N=in.nextInt(); //N을 입력받는다 for(;N>=1;N--) { System.out.println(N); } } } 2. while문 사용 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int N=in.nextInt(); //N을 입력받는다 while(N>=1) { System.ou..