본문 바로가기

분류 전체보기110

백준 차이를 최대로 (Python/Go) 문제 링크: www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net N의 범위가 8이하로 작기 때문에 모든 순열을 구해서 풀면 되는 문제입니다. 아래는 파이썬 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import sys from itertools import permutations def get_num(nums): tot = 0 for i in range(1, len(nums)): tot += abs(nums[i-1] - .. 2021. 4. 5.
Golang network TCP hello world 예제 이번 글에서는 TCP서버를 열고 거기에 접속하는 사용자에게 "Hello TCP"라는 문자열을 return 해준 후에 connection을 닫는 간단한 프로그램을 만들어보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package main import ( "io" "log" "net" ) func main() { li, err := net.Listen("tcp", "127.0.0.1:8080") if err != nil { log.Panic(err) } defer li.Close() for { conn, err := li.Accept() if err != nil { log.Println(err) } io.WriteString(co.. 2021. 4. 5.
백준 게임개발 (Python/Go) 문제 링크: www.acmicpc.net/problem/1516 위상 정렬 문제입니다. 그런데 최소 시간을 알아내야 하기 때문에 위상정렬 + heap을 사용하여 풀어야 합니다. 아래는 파이썬 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import heapq from collections import defaultdict n = int(input()) degree = [0] * (n+1) # degree[1] = 2 이라면 1번 건물을 짓기 위해 먼저 지어져야 하는 건물이 2개라는 뜻 time = [0] * (n+1) # 각 건물 짓는데 걸.. 2021. 4. 4.
golang에서 heap 사용하기 파이썬 같은 언어는 기본으로 내장되어 있는 heapq가 사용하기 상당히 쉽고 편리한데에 비해 go에서 heap을 사용하려면 꽤나 복잡한 작업을 해야합니다. 이번 글에서는 go에서 heap을 어떻게 사용하는지 공식문서예제에 있는 코드로 알아보겠습니다. 공식문서의 예제 링크: golang.org/src/container/heap/example_pq_test.go 1 func Pop(h Interface) interface{} cs go의 container/heap의 Pop 함수입니다. 인자로 Interface type을 받아야 합니다. 1 2 3 4 5 type Interface interface { sort.Interface Push(x interface{}) Pop() interface{} } cs In.. 2021. 4. 3.