Today.dev

부스트캠프 웹·모바일 자가 진단 본문

개인 활동/기타

부스트캠프 웹·모바일 자가 진단

otu165 2021. 6. 22. 19:53

문제

부스트캠프 웹·모바일 자가 진단

 


풀이

# 1. 

두 사람이 진실, 한 사람이 거짓을 말하고 있으므로 가정을 한다.

1. A : 거짓 / B, C : 진실

  • A : 나는 빵을 먹었다. (F) -> 나는 빵을 먹지 않았다.
  • B : A가 한 말은 거짓말이다. (T)
  • C : B가 빵을 먹었다. (T)

A의 발언이 거짓이므로 B의 주장은 참이 된다. 빵을 먹은 사람이 누구인지 밝혀진 바 없으므로 C의 주장 역시 참이 될 수 있다.

답 : A는 거짓말을 했고 B가 빵을 먹었다.

 

2. B : 거짓 / A, C : 진실

  • A : 나는 빵을 먹었다. (T)
  • B : A가 한 말은 거짓말이다. (F) -> A가 한 말은 진실이다.
  • C : B가 빵을 먹었다. (T)

A는 빵을 먹었다 주장하는데 B가 이를 뒷받침해주고 있다. 즉, 빵을 먹은 사람은 A가 되어야 하는 C도 자신이 빵을 먹었다 주장하고 있다. 두 의견이 상충하므로 2번 가정은 틀렸다.

 

3. C : 거짓 / A, B : 진실

  • A : 나는 빵을 먹었다. (T)
  • B : A가 한 말은 거짓말이다. (T)
  • C : B가 빵을 먹었다. (F) -> B는 빵을 먹지 않았다.

A는 빵을 먹었다 주장했는데 B가 이를 반대하므로 A는 빵을 먹지 않은 사람이 되어야 한다. 가정이 모순되므로 3번 가정은 틀렸다.

 

# 2. 

답 : 71

 

# 3.

1 + 7 * 14 < 100

답 : 15

 

# 4.

답 : 5번

 

# 5.

윤년의 조건을 구해서 반전시키면 좀 더 쉽다.

윤년의 조건 : (year % 4 == 0 and year % 100 ≠ 0) || year % 400 == 0

평년의 조건 : (year % 4 ≠ 0 || year % 100 == 0) and year % 400 ≠ 0

답 : 5번

 

P.S.

항상 느끼는 거지만 윤년 문제는 문제의 표현 방식때문에 어렵게 느껴지는 것 같다. 간단한 식을 이상하게 해설해놓은.. 마치 수능 영어지문 같은 느낌ㅋㅋㅋ

# 6.

 

답(Python3) :

from collections import Counter

def solution(arr: list):
    answer = list(filter(lambda x: x != 1, Counter(arr).values()))
    return answer if len(answer) != 0 else [-1]

 


공식 해설

부스트캠프 웹·모바일 자가진단 풀이

Comments