티스토리 뷰
problem
입력 : AEIOU 를 사용하여 만들어진 문자열
출력 : 입력된 문자열의 사전순 위치
제한사항
- word의 길이는 1 이상 5 이하입니다.
- word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다.
solution
AEIOU 를 각각 0, 1, 2, 3, 4 로 매핑한 후 가장 큰 자릿수부터 781, 156, 31, 6, 1 를 곱하여 구한다. 여기서 곱해주는 수는 한 n 번째의 알파벳이 A 일떄 나올 수 있는 모든 문자열의 경우의 수이다.
CODE
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(string word) {
int answer = word.size();
map<char, int> m;
m['A'] = 0;
m['E'] = 1;
m['I'] = 2;
m['O'] = 3;
m['U'] = 4;
int cn = 781;
for(char i : word){
answer += cn * m[i];
cn = (cn - 1) / 5;
}
return answer;
}
'algorithm > 프로그래머스' 카테고리의 다른 글
[C++/프로그레머스] 메뉴 리뉴얼 - 2021 KAKAO BLIND RECRUITMENT (0) | 2021.10.03 |
---|---|
[C++/프로그래머스] 신규 아이디 추천 -2021 KAKAO BLIND RECRUITMENT (0) | 2021.09.20 |
[C++/프로그래머스] 위클리첼린지 4주차 - 직업군 추천하기 (0) | 2021.09.07 |
[python]프로그래머스 위클리 첼린지 1주차 부족한 금액 계산하기 (0) | 2021.09.05 |
[C++] 프로그래머스 Lv.1: 완주하지 못한 선수 (0) | 2021.07.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- FIBO
- c++
- 4
- 21758
- 쇠막대기
- 백준
- forensic
- 피보나치
- web
- 1
- 프로그레머스
- 파이썬
- 다익스트라
- 7567
- 직업군 추천
- 꿀따기
- boj
- programmers
- 2
- 괄호
- 스택
- 나머지
- 👼
- 더하기
- openCV
- 넓이
- HackCTF
- 카카오 2021 블라인드 테스트
- python
- math
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함