dev/algorithm
BOJ / 1822๋ฒ / ์ฐจ์งํฉ [Go][Python3]
crscnt
2021. 2. 13. 21:00
๐ฉ๐ป๐ป ๋ฌธ์
1822๋ฒ: ์ฐจ์งํฉ
์ฒซ์งธ ์ค์๋ ์งํฉ A์ ์์์ ๊ฐ์ n(A)์ ์งํฉ B์ ์์์ ๊ฐ์ n(B)๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. (1 ≤ n(A), n(B) ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์งํฉ A์ ์์๊ฐ, ์ ์งธ ์ค์๋ ์งํฉ B์ ์์
www.acmicpc.net
โ๐ป ํ์ด
๐จ Go
// https://www.acmicpc.net/problem/1822
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var aCount, bCount int
fmt.Fscanln(reader, &aCount, &bCount)
var elements = map[int]bool{}
for i := 0; i < aCount; i++ {
var elem int
fmt.Fscanf(reader, "%d ", &elem)
elements[elem] = true
}
for i := 0; i < bCount; i++ {
var elem int
fmt.Fscanf(reader, "%d ", &elem)
delete(elements, elem)
}
fmt.Fprintln(writer, len(elements))
var elemArray []int
for key := range elements {
elemArray = append(elemArray, key)
}
sort.Ints(elemArray)
arrToStr := fmt.Sprint(elemArray)
fmt.Fprint(writer, arrToStr[1:len(arrToStr)-1])
}
๐จ Python3
# https://www.acmicpc.net/problem/1822
import sys
if __name__ == "__main__":
a_count, b_count = list(map(int, sys.stdin.readline().split()))
a = set(map(int, sys.stdin.readline().split()))
b = set(map(int, sys.stdin.readline().split()))
diff = a.difference(b)
result = sorted(list(diff))
if len(result) == 0:
print(0)
else:
print(len(result))
for i in result:
print("{} ".format(i), end='')
print()
728x90