일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 웹 프로그래밍
- AI Tech 4기
- Customer service 구현
- 2021 Dev-matching 웹 백엔드 개발자
- 서블릿
- 대회
- sts
- Django
- 네이버
- 백엔드
- 파이썬
- 풀스택
- QNA 봇
- cs50
- 프로그래밍
- 웹
- 4기
- Naver boostcourse
- AI Tech
- boostcourse
- 백준
- BOJ
- 구현
- 장고
- 프로그래머스
- Naver boostcamp
- P Stage
- 서버
- 레벨2
- 부스트캠프
Archives
- Today
- Total
daniel7481의 개발일지
[프로그래머스]모음사전 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/84512
풀이
AI Tech4기 1차를 합격하고 2차를 준비하며 알고리즘 문제들을 닥치는대로 풀고 있다. 너무 많은 문제를 풀고 있고 흐름이 끊길까봐 대부분의 문제들을 블로그에 포스팅하지는 못하고 있다. 이 문제 같은 경우에는 오랜만에 반복을 허용한 순열(product 함수)를 사용한 문제여서 포스팅해보았다.문제 자체는 word의 길이가 짧기 때문에 간단하게 브루트포스로 풀 수 있다. 모음 다섯개로 만들 수 있는 모든 문자열중에서 정렬을 한 후에 하나씩 탐색하며 만약 우리가 원하는 문자열이 나오면 answer에 i+1값을 할당해주면 된다.
from itertools import combinations_with_replacement
def solution(word):
answer = 0
pos = []
alphabet = ["A", "E", "I", "O", "U"]
for i in range(1, 6):
pos += map(list, combinations_with_replacement(alphabet, i))
pos.sort()
for i in range(len(pos)):
pos[i] = ''.join(pos[i])
for i in range(len(pos)):
if pos[i] == word:
answer = i+1
break
return answer
반응형
'BOJ' 카테고리의 다른 글
[BOJ]17142 연구소3 (0) | 2022.08.15 |
---|---|
18429근손실 (0) | 2022.08.12 |
[BOJ]1189 컴백홈 (0) | 2022.07.18 |
[BOJ]2234 성곽 (0) | 2022.07.15 |
[BOJ]18428 감시 피하기 (0) | 2022.07.14 |