← Back to List

34995번: 쿠폰 잘 사용하기? ↗

Solutions

Go
789 B | 789 chars
package main

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

var writer *bufio.Writer
var reader *bufio.Reader

func Print(a ...interface{}) {
	fmt.Fprintln(writer, a...)
}

func StringIntCompare(s1, s2 string) int {
	if len(s1) > len(s2) {
		return 1
	} else if len(s1) < len(s2) {
		return -1
	}

	for i := 0; i < len(s1); i++ {
		if s1[i] > s2[i] {
			return 1
		} else if s1[i] < s2[i] {
			return -1
		}
	}

	return 0
}

func Solve() {
	var n int
	var s string
	var a string

	fmt.Fscan(reader, &n, &s, &a)

	for i := 0; i < n; i++ {
		if s[i] == '?' {
			s = s[:i] + "9" + s[i+1:]
		}
	}
	res := StringIntCompare(s, a)

	if res >= 0 {
		Print(s)
	} else {
		Print(-1)
	}

}

func main() {
	writer = bufio.NewWriter(os.Stdout)
	reader = bufio.NewReader(os.Stdin)
	defer writer.Flush()

	Solve()
}