[백준] 문자열 반복 2675

aylee·2023년 2월 28일
0

문제풀이

목록 보기
17/18

문자열 반복

문제

문자열 S, 각 문자를 R번 반복해서 새로운 문자열 P를 만들기

e.g.) 2 ABC -> AABBCC


문제풀이

package main

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

func main() {

	var reader *bufio.Reader = bufio.NewReader(os.Stdin)
	var writer *bufio.Writer = bufio.NewWriter(os.Stdout)

	defer writer.Flush()

	var times int
	var str string
	var times2 int

	fmt.Scanln(&times)
	i := 0
	for i < times {
		fmt.Fscanln(reader, &times2, &str)
		newSet := []string{}
		for j := 0; j < len(str); j++ {
			for k := 0; k < times2; k++ {
				newSet = append(newSet, string(str[j]))
			}
		}
		str_concat := strings.Join(newSet, "")
		fmt.Fprintln(writer, str_concat)
		i++
	}
}

문자열 붙이기

(1) Join(str []string, sep string - 구분자) string
str_concat := strings.Join(newSet, "")

(2) strings.Builder

package main

import (
    "fmt"
    "strings"
)

func main() {
    var str_build strings.Builder
    str_build.WriteString("Hello ")
    str_build.WriteString("World!!")
    fmt.Println(str_build.String())
}

출력 : Hello World!!

(3) bytes.Buffer

package main

import (
    "bytes"
    "fmt"
)

func main() {
    var byte_buf bytes.Buffer

    byte_buf.WriteString("Hello ")
    byte_buf.WriteString("World!!")

    fmt.Println(byte_buf.String())
}

출럭 : Hello World!!

📚 출처 : https://www.delftstack.com/ko/howto/go/how-to-efficiently-concatenate-strings-in-go/

profile
미래를 구체화 하는 중

0개의 댓글