체리의 하루
Published 2023. 3. 21. 13:35
[Go] BOJ / 10809번 / 알파벳 찾기 BOJ/Go

💻 문제

 

10809번: 알파벳 찾기

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

www.acmicpc.net

 

📜 풀이

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	var s string
	var alphabet []int = make([]int, 26)

	r := bufio.NewReader(os.Stdin)
	w := bufio.NewWriter((os.Stdout))

	defer w.Flush()

	fmt.Fscan(r, &s)

	for i := range alphabet {
		alphabet[i] = -1
	}

	for i := range s {
		n := s[i]
		if alphabet[n-97] == -1 {
			alphabet[n-97] = i
		}
	}

	for i := range alphabet {
		fmt.Fprintf(w, "%d ", alphabet[i])
	}
}

 

✍ 설명

  • ASCII 코드 소문자 a97 임을 이용
728x90

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

[Go] BOJ / 1152번 / 단어의 개수  (0) 2023.03.21
[Go] BOJ / 2675번 / 문자열 반복  (2) 2023.03.21
[Go] BOJ / 11720번 / 숫자의 합  (0) 2023.03.20
[Go] BOJ / 11654번 / 아스키 코드  (0) 2023.03.20
[Go] BOJ / 9086번 / 문자열  (0) 2023.03.20