정글에서 온 개발자
Go로 백준 풀기 VSC 환경 세팅 본문
단축키 (Ctrl+Shift+B) 만 눌러서 미리 셋팅한 stdin으로 내 go 코드를 테스트해 볼 수 있는 환경을 구성하려고 한다.
먼저 위 그림과 같이 디렉토리를 구성한다.
go.mod는 아무 모듈 이름으로나 아래 명령어를 실행해서 생성한다.
go mod init [모듈명]
solve.go 파일 이름은 아무거로나 바꿔도 된다. (저는 보통 백준 문제 번호로 맞춤)
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Program",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"preLaunchTask": "run Go program with input",
"args": [],
"env": {},
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"showLog": true,
"trace": "verbose"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "run Go program with input",
"type": "shell",
"command": "go run ${file} < input.txt",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
]
}
이렇게 설정하고, go 파일을 열어서 활성화한 상태애서 ctrl+shift+B를 하면 위의 command go run ${file} < input.txt 가 stdin 대신 input.txt를 현재 파일로 리다이렉트 시키면서, 내가 일일히 입력값을 넣지 않고 코드를 테스트 할 수 있다.
input.txt는 자유롭게 stdin.txt, stdin 등으로 바꿔도 된다. command 에 있는 이름만 맞춰주면 된다.
go는 특성상 main 문을 가진 파일이 한 모듈에 하나만 있어야 하므로, solve 폴더로 이미 푼 문제들을 옮겨준다.
잘 설정 됐는지 아래 코드로 테스트해보자.
package main
import "fmt"
func main() {
var a, b int
fmt.Scanf("%d %d", &a, &b)
fmt.Println(a + b)
}
'알고리즘' 카테고리의 다른 글
[프로그래머스] 의상. 다양한 python 모듈 활용 (0) | 2024.05.14 |
---|---|
[프로그래머스] 전화번호 목록. 정렬 증명과 O(N)풀이 (0) | 2024.05.14 |
Heapify의 시간복잡도는 O(n)이다! (0) | 2024.05.11 |
[프로그래머스] 완주하지 못한 선수. Counter 객체 분석 (0) | 2024.05.11 |
[프로그래머스] 모음 사전. 다양한 python 풀이 (0) | 2024.05.11 |