반응형
문제: https://www.acmicpc.net/problem/11721
문제 설명
더보기
문제
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.
한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
출력
입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.
예제 입력 1 복사
BaekjoonOnlineJudge
예제 출력 1 복사
BaekjoonOn
lineJudge
예제 입력 2 복사
OneTwoThreeFourFiveSixSevenEightNineTen
예제 출력 2 복사
OneTwoThre
eFourFiveS
ixSevenEig
htNineTen
정답
package main
import (
"bufio"
"os"
"strings"
"testing"
)
func main() {
rd := bufio.NewReader(os.Stdin)
wr := bufio.NewWriter(os.Stdout)
word := scan11721(rd)
_, _ = wr.WriteString(solution11721(word))
_ = wr.Flush()
}
func solution11721(word string) (result string) {
strArr := make([]string, 0, len(word)/10+1)
for i := 0; i < len(word)/10; i++ {
strArr = append(strArr, word[i*10:(i+1)*10])
}
strArr = append(strArr, word[len(word)/10*10:])
result = strings.Join(strArr, "\n")
return
}
func scan11721(rd *bufio.Reader) string {
str, _ := rd.ReadString('\n') // 여기서 text는 마지막에 줄바꿈 문자를 포함하므로
str = strings.TrimSpace(str) // 줄바꿈 문자를 제거해야 함
return str
}
func Benchmark11721(b *testing.B) {
for i := 0; i < b.N; i++ {
solution11721("OneTwoThreeFourFiveSixSevenEightNineTenOneTwoThreeFourFiveSixSevenEightNineTenOneTwoThreeFourFiveSix")
}
}
func Test_solution11721(t *testing.T) {
type args struct {
word string
}
tests := []struct {
name string
args args
wantResult string
}{
{name: "", args: args{word: "BaekjoonOnlineJudge"}, wantResult: "BaekjoonOn\nlineJudge"},
{name: "", args: args{word: "OneTwoThreeFourFiveSixSevenEightNineTen"}, wantResult: "OneTwoThre\neFourFiveS\nixSevenEig\nhtNineTen"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if gotResult := solution11721(tt.args.word); gotResult != tt.wantResult {
t.Errorf("solution11721() = %v, want %v", gotResult, tt.wantResult)
}
})
}
}
풀이
10개씩 끊어서 출력하는 간단한 문제이다.
for문을 10으로 나눈 몫을 조건으로 돌려서 10글자씩 출력하고, 마지막엔 나머지 글자를 출력하면 된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 10808번 - 알파벳 개수 / Go (0) | 2022.04.30 |
---|---|
백준 11719번 - 그대로 출력하기 2 / Go (0) | 2022.04.30 |
백준 1764번 - 듣보잡 / Go (0) | 2022.04.30 |
백준 1021번 - 회전하는 큐 / Go (0) | 2022.04.17 |
백준 11866번 - 요세푸스 문제0 / Go (0) | 2022.04.16 |