[백준/C++] 9226: 도깨비

2024. 1. 21. 22:11· Koala - 13기/기초 알고리즘 스터디
목차
  1.  소스 코드
  2.  문제 풀이

 

 문제

 

도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다.

영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하기 위해 종종 쓴다. 

여기엔 규칙이 있는데, 맨 앞글자가 모음이 아닐때 까지 맨 앞 글자를 어미로 돌린 후 그 끝에 ay를 붙여서 완성한다. 예를 들면 frog는 ogfray이 된다. 만약 맨 앞자음이 없는 apple과 같은 경우는 끝에 ay만 붙여 appleay가 된다. 또는, 단어에 모음이 없는 경우에도 단어의 끝에 ay만 붙인다.

주어진 단어를 피그라틴어로 바꾸는 프로그램을 작성하시오.

 

 입력

 

한 줄에 하나의 단어씩 주어진다. 그리고 마지막 줄에 #을 입력받고 끝낸다.

주어진 단어는 20자를 넘지 않고 공백없이 소문자로만 이루어져있다. 여기서 모음이란 'a', 'e', 'i', 'o', 'u' 를 말한다.

 

 출력

 

한 줄에 하나씩 피그라틴어를 출력한다.

 

 소스 코드

#include <iostream>

using namespace std;

int main() {
    string a, b ="";
    int count;

    while(1)
    {
        cin >> a;
        if ( a == "#" ) break;

        count = a.size();
        for ( int i = 0; i < a.size(); i++ ) {
            if ( a[i] == 'a' || a[i] == 'e' ||
                 a[i] == 'i' || a[i] == 'o' || a[i] == 'u')
            {
                count = i;
                break;
            }
        }
        for ( int i = count; i < a.size(); i++ ) b += a[i];
        for ( int i = 0; i < count; i++) b += a[i];
        b += "ay\n";
    }
    cout << b;
}

 문제 풀이

[ a (입력 받을 하나의 단어, #을 입력하면 종료), b (문제의 조건에 따라 마지막으로 출력할 피그라틴어), count (처음으로 모음이 나오는 index의 값 ]

1. 반복문이 종료( #이 입력될 때까지)될 때까지 a를 입력받는다.

2. count의 기본값을 입력 받은 하나의 단어의 크기로 설정하고, 단어에서 처음으로 모음이 나오는 index의 값으로 바꾼다. (없으면 그대로 a.size()로 설정되는데, 이렇게 잡은 이유는 아래에서 피그라틴어로 바꿔주는 과정에서 count의 값을 사용하기 때문)

3. 모음이 나온 위치 뒤에 존재하는 부분을 새로운 b에 넣고, 모음이 나온 위치 앞에 존재하는 부분을 그 뒤에 붙인 후 \n으로 다음 피그라틴어를 입력 받을 준비를 한다.

4. 이를 반복하다가, #으로 반복문이 종료되면, b를 출력하고 종료한다.

저작자표시 (새창열림)

'Koala - 13기 > 기초 알고리즘 스터디' 카테고리의 다른 글

[백준/Python]10824:네 수  (0) 2024.01.21
[백준/C++] 14582: 오늘도 졌다  (0) 2024.01.21
[백준/C++] 9012: 괄호  (0) 2024.01.21
[백준/python] 1673번 치킨쿠폰  (0) 2024.01.21
[백준/Python] 3449번 : 해밍 거리  (0) 2024.01.21
  1.  소스 코드
  2.  문제 풀이
'Koala - 13기/기초 알고리즘 스터디' 카테고리의 다른 글
  • [백준/Python]10824:네 수
  • [백준/C++] 14582: 오늘도 졌다
  • [백준/C++] 9012: 괄호
  • [백준/python] 1673번 치킨쿠폰
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
Koala항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1884)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • 백트래킹
  • dp
  • 파이썬
  • C++
  • BOJ
  • BFS
  • dfs
  • 백준

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준/C++] 9226: 도깨비
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.