티스토리 뷰

문제
 

10809번: 알파벳 찾기

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

www.acmicpc.net

풀이
package main

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

func main() {
	var s string
	reader := bufio.NewReader(os.Stdin)
	fmt.Fscanln(reader, &s)

	var letters = make(map[int]int)
	for i:=0; i<26; i++ {
		letters[i+97] = -1
	}

	for i:=0; i<len(s);i++{
		ascii , _ := strconv.Atoi(fmt.Sprintf("%d", s[i]))
		if letters[ascii] == -1 {
			letters[ascii] = i
		}
	}

	for i:=0; i<26; i++ {
		fmt.Printf("%d ", letters[i+97])
	}
	fmt.Print("\n")
}
728x90
댓글