BOJ 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰

Ok Haeeun·2022년 12월 9일
0

Go로 algorithm문풀

목록 보기
2/16
post-thumbnail

포메팅 야무지게 하면 되는 문제...
개쉬움
아니 안쉬워. 자만 금지

package main

import "fmt"

func main(){
	var k, q, l, b, n, p int

	fmt.Scanf("%d %d %d %d %d %d", &k, &q, &l, &b, &n, &p)
	fmt.Printf("%d %d %d %d %d %d\n", 1-k, 1-q, 2-l, 2-b, 2-n, 8-p)
}

세줄에 끝납니다.
근데 python이 더 짧을듯

어어 그래 맞았구나 고마워요~

짧았으니까 Go에 대한 지식 한 꼬집 더해보자면

About Go

  • 정적 컴파일 언어이므로, 컴파일 과정을 거쳐 실행 파일을 만든 후 실행할 수 있다. 그러나 정적 컴파일 언어 중 비교적 빠른 편
  • 강타입 언어로서, 까다롭지만 그만큼 잠재적인 에러를 줄일 수 있음
  • 가비지 컬렉터를 제공하는 언어 중에서는 빠른 편에 속한다. 불필요한 메모리를 자동으로 해제하므로 개발자가 명시적으로 메모리를 할당 및 해제하지 않아도 된다는 편의성을 가진다.

Go언어에서의 패키지

앞선 게시글에서 말했듯,

Go 언어의 모든 코드는 패키지 단위로 작성된다.

폴더에 따라 패키지로 묶는다고 생각할 수 있다. 즉 같은 폴더에 위치한 .go 파일은 같은 패키지에 포함된 것으로 본다. 그 안에 하위 폴더를 만들더라도 다른 폴더로 분류되어 다른 패키지를 가지게 된다.

위 문제 코드를 통해 가장 기본적인 .go 파일의 구조를 보면

package main

을 통해 어떤 패키지에 속하는지 알리면서 go파일을 시작한다.

main 패키지는 프로그램의 시작점을 포함하는 특별한 패키지로, main()함수가 없는 패키지는 패키지 이름으로 main을 쓸 수 없다.

import "fmt"

패키지에서 제공하는 기능을 쓰기 위해 import로 패키지를 불러온다. fmt는 표준 입출력을 다루는 내장 패키지를 가리킨다.

func main()

main함수는 프로그램의 진입점으로, 항상 main()함수에서 시작하고 끝난다.

출처 ) 책 Must Have Tucker의 Go 언어 프로그래밍(tucker)




오늘은 쉬운 문제를 풀면서 (살짝 양심에 찔려) go언어의 기초도 들여다볼겸 정리해보았다. 내일은 이것보다 조금 더 어려운 거 풀어야지~

profile
貫徹

0개의 댓글