💻 문제
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
📜 풀이
<go />
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 코드 소문자 a 가 97 임을 이용
728x90
'BOJ > Go' 카테고리의 다른 글
[Go] BOJ / 1152번 / 단어의 개수 (0) | 2023.03.21 |
---|---|
[Go] BOJ / 2675번 / 문자열 반복 (0) | 2023.03.21 |
[Go] BOJ / 11720번 / 숫자의 합 (0) | 2023.03.20 |
[Go] BOJ / 11654번 / 아스키 코드 (0) | 2023.03.20 |
[Go] BOJ / 9086번 / 문자열 (0) | 2023.03.20 |