skesswswkk   4년 전

01.

2개가 동일하면(그 수가 1<= n && n <= 12), 답은 2

2개사 동일하나 위의 범위에 반한다면, 답은 0

02.

3개가 동일하면(그 수가 1<= n && n <= 12), 답은 3

3개사 동일하나 위의 범위에 반한다면, 답은 0


03.

다 다른 경우의 수

(범위안에 있는 수가 1개), 답은 2

(범위안에 있는 수가 2개), 답은 4

(범위안에 있는 수가 3개), 답은 6

이 요약을 토대로 작성한 코드는 아래와 같습니다.

어떠한 경우가 누락되거나 잘못된건지 알려주세요.

jintak0401   4년 전

확실한건 아닌데 20번 라인에서 a == b == c 이고 1 <= a <=12 이면 읽을 방법 1가지 아닌가요?

jintak0401   4년 전

프로그램을 돌려보지 않아서 확실치는 않지만 a = 6, b = 6, c = 7 일 때 sum = 4 되는 거 맞나요?  '6시 6분 7초' , '6시 7분 6초', '7시 6분 6초' 이렇게 3가지 있는 것 같은데요

skesswswkk   4년 전

@jintak0401

https://www.acmicpc.net/board/view/33270

"예를 들어, 01:00:00과 같은 입력에 대해 1시 0분 0초로 읽는 방법과 1시 0초 0분으로 읽는 두 가지 방법이 있다고 세야 정답 처리가 됩니다."

에 따라 

06:06:07는

06시 06분 07초

06시 07분 06초

07시 06분 06초

07시 06초 06분

총 4가지입니다.

jintak0401   4년 전

그러네요. 제가 이 문제를 안풀고 글만 대충 읽어서 문제를 잘못 이해했나보네요... 죄송합니다

skesswswkk   4년 전

@jintak0401

아닙니다ㅎㅎ

한 번 풀어보시고 알려주세요!

jintak0401   4년 전

풀어봤는데 a == b == c 에서 sum = 6 이 되어야 합니다.  '시분초', '시초분', '분시초', '분초시', '초시분', '초분시' 로 6가지로 읽힙니다.

그래서 a == b 이고 b != c 의 경우도 if (... ) sum = 4; if (...) sum += 2; 로 바뀌어야 합니다. '시분초', '시초분', '분시초', '초시분' / '분초시', '초분시' 로 읽히기 때문입니다.

이 부분 생각하고 다시 한번 보시면 푸실 수 있을거에요. 이미 푸셨다면 다행이구요

choiyoujun   3년 전

@skesswswkk

설명이 잘못된 것 같습니다.

[06:06:07](시:분:초로 읽겠습니다)의 경우

06 -> A, 06 -> B, 07 -> C라고 치환 했을 때,

06시 06분 07초 -> [A:B:C]

06시 07분 06초 -> [A:C:B]

07시 06분 06초 -> [C:A:B]

07시 06초 06분 -> [C:B:A] 의 4가지라고 하셨는데


06시 07분 06초
-> [A:C:B], [B:C:A]

06시 06분 07초 -> [A:B:C], [B:A:C] 의 경우로 총 6가지가 있습니다.

[A:B:C], [A:C:B], [B:A:C], [B:C:A], [C:A:B], [C:B:A]

댓글을 작성하려면 로그인해야 합니다.