본문 바로가기

전체 글628

백준 2292번 벌집 (파이썬) 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. Solve N = int(input().strip()) default_num = 6 result = 1 count = 1 number = 1 .. 2021. 2. 8.
Pandas 텍스트(txt) 파일 불러오기 및 저장하기 텍스트 파일 읽기 불러오기 ## with header import pandas as pd df = pd.read_table('./data.txt',sep=',') # 또는 read_csv를 사용해도 되나 read_csv는 seq 기준이 쉼표이므로 seq값 생략 df = pd.read_csv('./data.txt') 데이터 프레임을 텍스트 파일로 저장하기 → to_csv import pandas as pd ## 데이터 생성 data = { '번호':[1,2,3,4], '이름':['아이린','박보검','유민상','꽁냥이'], '성별':['여자','남자','남자','남자'], '비고':['존예','존잘','재미있음','착함'] } df = pd.DataFrame(data) ## 데이터프래임 생성 ## 구분자를.. 2021. 2. 3.
2839번, 설탕배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정.. 2021. 1. 26.
Go - Interface ''' 구조체(struct)가 필드들의 집합체라면, interface는 메서드들의 집합체이다. interface는 타입(type)이 구현해야 하는 메서드 원형(prototype)들을 정의한다. 하나의 사용자 정의 타입이 interface를 구현하기 위해서는 단순히 그 인터페이스가 갖는 모든 메서드들을 구현하면 된다. 인터페이스는 struct와 마찬가지로 type 문을 사용하여 정의한다. ''' type Shape interface { area() float64 perimeter() float64 } //Rect 정의 type Rect struct { width, height float64 } //Circle 정의 type Circle struct { radius float64 } //Rect 타입에 대한.. 2021. 1. 19.
Go - Map // Map은 키(Key)에 대응하는 값(Value)을 신속히 찾는 해시테이블(Hash table)을 구현한 자료구조 // "map[Key타입]Value타입" 과 같이 선언 var idMap map[int]string /* 이때 선언된 변수 idMap은 (map은 reference 타입이므로) nil 값을 갖으며, 이를 Nil Map이라 부른다. Nil map에는 어떤 데이타를 쓸 수 없는데, map을 초기화하기 위해 make()함수를 사용할 수 있다 (map 리터럴을 사용할 수도 있는 이는 아래 참조). */ idMap = make(map[int]string) /* map은 make() 함수를 써서 초기화할 수도 있지만, 리터럴(literal)을 사용해 초기화할 수도 있다. 리터럴 초기화는 "map[K.. 2021. 1. 19.
Go - Slice // Go 배열은 고정된 크기를 가지지만 Go Slice 개념을 통해 유동적으로 크기 조절 가능 // var v []T -> 배열과 달리 크기 지정 x package main import "fmt" func main() { var a []int //슬라이스 변수 선언 a = []int{1, 2, 3} //슬라이스에 리터럴값 지정 a[1] = 10 fmt.Println(a) // [1, 10, 3]출력 } // Go에서 Slice를 생성하는 또 다른 방법으로 Go의 내장함수 make() 함수를 이용 /* make() 함수로 슬라이스를 생성하면, 개발자가 슬라이스의 길이(Length)와 용량(Capacity)을 임의로 지정할 수 있는 장점이 있다. make() 함수의 첫번째 파라미터에 생성할 슬라이스 타입을.. 2021. 1. 19.