728x90
📚문제
📝풀이
# 28074 모비스
word = input()
if 'M' and 'O' and 'B' and 'I' and 'S' in word:
print('YES')
else:
print('NO')
처음에 나도 위 코드처럼 풀었다가 게시판을 한 번 확인해봤다(나와 같은 풀이가 분명 있을 것 같아서)
역시 비슷한 코드가 있었고 친절하고 이해가 잘 되게 답변해주신 글이 있어서 가져와봤다
# 28074 모비스
word = input()
word = list(word)
if 'M' in word and 'O' in word and 'B' in word and 'I' in word and 'S' in word:
print('YES')
else:
print('NO')
그래서 이렇게 하나하나 word에 넣어보는 방식을 생각해봤는데
너무 주먹구구식이고 Pythonic하지가 않은 것 같아서
다른 방법을 생각해보기로했다
(비교해야될 단어가 MOBIS가 아니라 100글자,1000글자라면..?을 생각해보자)
# 28074 모비스
word = input()
result = ''
for idx,k in enumerate(word):
if k in 'MOBIS':
result += k
if len(set(result))==5:
print('YES')
else:
print('NO')
그래서 생각한 풀이
word의 단어가 MOBIS에 속한다면 result로 추가 될 것이다 (몇개가 가도 상관없다)
그 다음 set()을 해준다면 중복되는 M,O,B,I,S 는 다 사라지고 1개씩만 남을것이다(순서는 상관없다)
그 다음 남은 값의 길이가 5(MOBIS의 길이)와 같다면 정답(MOBIS를 제외한 알파벳은 result에 들어올 수 없음)
728x90
'Python(알고리즘,문제풀이) > BOJ (Bronze IV)' 카테고리의 다른 글
백준 28431번 / 양말 짝 맞추기 - 파이썬 (0) | 2023.10.27 |
---|---|
백준 28295번 / 체육은 코딩과목 입니다 - 파이썬 (0) | 2023.10.26 |
백준 27890번 / 특별히 작은 분수 - 파이썬(XOR 연산) (0) | 2023.10.24 |
백준 27590번 / Sun and Moon - 파이썬 (1) | 2023.10.23 |
백준 27213번 /Граничные клетки(경계 셀?) - 파이썬 (1) | 2023.10.18 |