-
728x90
Golang에 보다 익숙해지기 위해 Golang으로 가벼운 알고리즘 문제들의 풀이를 시작한다.
먼저 답안 소스는 아래와 같다.
package main import ( "fmt" ) func main() { var a, b int fmt.Scanln(&a, &b) fmt.Println(a + b) fmt.Println(a - b) fmt.Println(a * b) fmt.Println(a / b) fmt.Println(a % b) }
간단한 문제이지만 여기서 확인할만한 점은 golang의 int 자료형의 범위, fmt.scanln 함수 정도일 것 같다.
golang에서는 int8, int32, int64, uint8... 등 숫자와 관련된 다양한 자료형이 있는데 여기서 사용한 int의 크기는 시스템에 따라 결정된다. 이 문제에서는 a, b가 모두 10,000보다 같거나 작으므로 곱해도 1억 이하의 수다. 32비트 시스템에서 동작되더라도 범위를 벗어날 일은 없다.
Golang에서의 숫자 관련 자료형 확인하기 : http://pyrasis.com/book/GoForTheReallyImpatient/Unit08
다음으로 fmt.scanln 함수를 살펴본다.
Golang은 공식 사이트에서 각종 패키지에 대한 설명이 잘 나와있다.
(https://pkg.go.dev/fmt#Scanln)
설명에 잘 나와있듯 Scan 함수와 유사하면서 개행문자를 만났을 때, 마지막 item 이후의 개행 혹은 EOF(End of File)일 때 Scan을 멈춘다.
(EOF : 컴퓨팅에서 더이상 읽어올 데이터가 없음)
'Algorithms' 카테고리의 다른 글
[BOJ] 5373번 큐빙 Java 풀이 (0) 2021.06.26 [BOJ] 15686번 치킨 배달 Java 풀이 (0) 2021.06.26 [BOJ] 15684번 사다리 조작 Java 풀이 (0) 2021.06.26 [BOJ] 14503번 로봇청소기 Java 풀이 (0) 2021.06.19 [BOJ] 14502번 연구소 Java 풀이 (0) 2021.06.19 댓글