Skills/Algorithm

[백준_1924] 2007년(Calendar)

2020. 3. 17. 14:28
목차
  1. 풀이
  2. 소스코드

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

 

2798번: 블랙잭

문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게

www.acmicpc.net


풀이

1. Calendar 함수를 이용(java.util.Calendar)

=> Calendar cal = Calendar.getInstance(); 선언시 오늘 날짜로 객체가 생성되며

cal.set(year, month-1, day); 로 특정 날짜로의 변경도 가능하다.

cal.get(Calendar.DAY_OF_WEEK); 사용시 해당 날짜의 요일을 숫자 값으로 알 수 있는데 순서대로 일(1), 토(7) 순서이다.

입력받은 날짜를 set 함수로 설정해 준 후 각 요일명을 넣어둔 배열에서 인덱스를 찾아 출력한다

 

 

2. 직접 달력의 날짜를 계산

=> 각각의 월마다 끝 날짜가 주어졌으므로 입력받은 월의 전월까지 일수를 계산하고, 입력받은 일의 날짜를 더한 숫자에서 나누기 7을 하여 요일을 매핑한다. 여기서는 나머지가 1인 경우 월요일, 나머지가 6인경우 토요일이다.

 

소스코드

더보기
// 1번 방법
import java.util.Calendar;
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();
        
        String[] week = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};

		Calendar c = Calendar.getInstance();
		c.set(2007, a-1, b);
		int day_of_week = c.get(Calendar.DAY_OF_WEEK);
		
		System.out.println(week[day_of_week-1]);
	}
}

// 2번 방법
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 day = b;
		int[] month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
		String[] week = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
		
		for(int i=0; i<a-1; i++)
			day += month[i];
		
		System.out.println(week[day%7]);
	}
}

 

반응형
  1. 풀이
  2. 소스코드
'Skills/Algorithm' 카테고리의 다른 글
  • [백준_9093] 단어 뒤집기(StringBuffer reverse)
  • [백준_10818] 최소, 최대
  • [백준_10951] A+B - 4 (hasNextInt())
  • [백준_2798] 블랙잭
프리미99
프리미99
train hard, big dream
프리미99
Rabbit in the Moon
프리미99
  • 분류 전체보기 (52)
    • Skills (20)
      • Java & Spring (7)
      • Framework (0)
      • Network (0)
      • Database (5)
      • Algorithm (7)
    • Skill Up (29)
      • dlwlrGOGO (7)
      • 우아한유스방 3기 (7)
      • 우아한테크캠프 Pro 4기 (15)
    • Tools (1)
      • Git (0)
      • IDE (1)
    • Project (0)
      • Spring 게시판 프로젝트 (0)
    • Review (2)
      • Seminar (2)
      • BOOK (0)

공지사항

최근 글

최근 댓글

전체
오늘
어제

블로그 메뉴

  • github
  • 글쓰기
  • 관리자
hELLO · Designed By 정상우.
프리미99
[백준_1924] 2007년(Calendar)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.