백준 10809번: 알파벳 찾기

2021. 7. 5. 14:40·IT/BOJ 문제정리

https://www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 

 

0. 알고리즘 분류

 구현, 문자열

 

 

1. 문제

 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

 

 

2. 풀이

 string 클래스에 익숙하다면 금방 푼다. 중요한 것은 "단어가 처음 등장하는 위치"를 출력하는 것이다. 역시 자잘한 것을 실수하지 않는 것이 제일 중요한 것 같다. 사이즈가 26인 배열을 -1로 채우는 데에는 std::fill_n() 함수를 사용했다.

 

 

3. 코드

#include <iostream>
#include <string>

using namespace std;

int main(void) {
    string alp;
    cin >> alp;

    int nums[26];
    fill_n(nums, 26, -1);

    for (int i = 0; i < alp.size(); i++) {
        char c = alp[i];
        if (nums[c - 'a'] == -1)
        	nums[c - 'a'] = i;
    }

    for (int i = 0; i < 26; i++) {
        cout << nums[i] << ' ';
    }

    return 0;
}

'IT > BOJ 문제정리' 카테고리의 다른 글

백준 1003번: 피보나치 함수  (0) 2021.07.06
백준 2908번: 상수  (0) 2021.07.05
백준 18127번: 모형결정  (0) 2021.07.05
백준 1065번: 한수  (0) 2021.07.05
백준 3052번: 나머지  (0) 2021.07.05
'IT/BOJ 문제정리' 카테고리의 다른 글
  • 백준 2908번: 상수
  • 백준 18127번: 모형결정
  • 백준 1065번: 한수
  • 백준 3052번: 나머지
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (574)
      • 혼잣말 (88)
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (168)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (39)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    numpy
    코드프레소
    머신러닝
    해커톤
    react
    리액트
    MailBadara
    블록체인
    Pint OS
    프로그래머스
    니어프로토콜
    글리치해커톤
    pintos
    Flutter
    핀토스
    딥러닝
    졸업과제
    docker
    파이썬
    NEAR Protocol
    크래프톤정글
    자바스크립트
    나만무
    부산대
    사이드프로젝트
    알고리즘
    RNN
    OS
    JavaScript
    센디
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
백준 10809번: 알파벳 찾기
상단으로

티스토리툴바