전체 방문자
오늘
어제
모달조아
Better than yesterday
모달조아
  • 분류 전체보기 (147)
    • PS (86)
      • BOJ (79)
      • 프로그래머스 (6)
    • 이론 (41)
      • 자료구조 (2)
      • 알고리즘 (8)
      • 데이터베이스 (1)
      • 운영체제 (1)
      • 네트워크 (3)
      • 디자인패턴 (7)
      • Java (13)
      • Spring (4)
      • JPA (1)
      • Git (1)
    • 개발 (18)
    • 프로젝트 (1)
    • 기록 (0)
      • 후기 (0)
    • etc (1)

최근 글

티스토리

hELLO · Designed By 정상우.
모달조아
PS/BOJ

BOJ 10809 알파벳 찾기 [Java]

PS/BOJ

BOJ 10809 알파벳 찾기 [Java]

2021. 7. 21. 02:19

BOJ 10809 알파벳 찾기

- 문제 링크

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

- 문제 해설

boj 10808 알파벳 개수 문제에서 조금 변형된 문제이다.
기본적인 동작 방식은 비슷하게 하였고 몇 가지를 추가하였다. cnt배열은 각 알파벳이 단어에 처음 등장하는 인덱스를 담는다.
알파벳 'a'부터 'z'까지 돌면서 검사하는 방식이다. 각각의 알파벳이 입력된 단어에 포함되는 경우, 첫 위치를 출력해야하므로 알파벳이 단어에서 발견되면 바로 다음 알파벳으로 넘어가도록 하였다.
cnt배열이 0인 경우가 두 가지 경우가 있다. 알파벳이 단어에 포함되지 않아서 0인 경우와, 알파벳이 단어의 첫번째 글자로 등장해서 0인 경우이다.
cnt배열의 값이 0인 경우를 알파벳이 단어에 포함되지 않은 경우로만 고정시키기 위해서, 알파벳이 단어의 첫번째 글자 인덱스를 0번째에서 1번째로 바꾸었다. 출력해줄 때, -1을 하여 출력하면 정상적인 값이 나온다.

- 코드 보기

import java.io.*;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = br.readLine();
int cnt[] = new int[26];
for (char a = 'a'; a <= 'z'; a++)
{
for (int i = 0; i < str.length(); i++)
{
if (a == str.charAt(i))
{
cnt[a - 97] = i + 1;
break;
}
}
}
for (int i = 0; i < 26; i++)
{
if (cnt[i] == 0)
bw.write(Integer.toString(-1) + " ");
else
bw.write(Integer.toString(cnt[i] - 1) + " ");
}
br.close();
bw.flush();
bw.close();
}
}
저작자표시 (새창열림)

'PS > BOJ' 카테고리의 다른 글

BOJ 11655 ROT13 [Java]  (0) 2021.07.21
BOJ 10820 문자열 분석 [Java]  (0) 2021.07.21
BOJ 10808 알파벳 개수 [Java]  (0) 2021.07.21
BOJ 10866 덱 [Java]  (0) 2021.07.20
BOJ 10845 큐 [Java]  (0) 2021.07.18
  • BOJ 10809 알파벳 찾기
'PS/BOJ' 카테고리의 다른 글
  • BOJ 11655 ROT13 [Java]
  • BOJ 10820 문자열 분석 [Java]
  • BOJ 10808 알파벳 개수 [Java]
  • BOJ 10866 덱 [Java]
모달조아
모달조아

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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