Post

백준 30403 - 무지개 만들기

문제

문제 링크

입력받은 문자열로 무지개 문자열을 만들 수 있는지 확인하는 문제

무지개 문자열은 R(빨간색), O(주황색), Y(노란색), G(초록색), B(파란색), I(남색), V(보라색) 순으로 이루어진 문자열이며, 대소문자를 구분하지 않는다.

소문자로만 이루어진 무지개를 만들 수 있으면 yes, 대문자로만 이루어진 무지개를 만들 수 있으면 YES, 두 가지 모두 만들 수 있으면 YeS, 두 가지 모두 만들 수 없으면 NO!를 출력한다.

풀이

무지개 문자열은 7개의 알파벳으로 이루어져있다.

  • 소문자 기준: r, o, y, g, b, i, v
  • 대문자 기준: R, O, Y, G, B, I, V

입력받은 문자열 내부를 순회하면서 문자 포함여부를 확인하기 위해 소문자 배열과 대문자 배열을 만든다.

입력받은 문자열에서 무지개 알파벳이 있는지 확인한다.

  • std::string::find() 함수를 이용해서 특정 문자가 문자열 안에 있는지 검사
  • 소문자 배열과 대문자 배열을 각각 돌면서, 포함되어 있으면 카운트 증가 (대문자와 소문자 각각 카운팅)

카운트 결과에 따라 출력을 결정한다.

  • 소문자와 대문자 모두 7개 이상 -> “YeS”
  • 소문자만 7개 이상 -> “yes”
  • 대문자만 7개 이상 -> “YES”
  • 둘 다 못 만들면 -> “NO!”

코드

내 제출

시간 복잡도

O(N)

후기

문자열 점점 익숙해져가는중

This post is licensed under CC BY 4.0 by the author.

Trending Tags