전체 글 20

[Go / 백준 2588번] 곱셈

문제(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.입력첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.출력첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.예제 입력 1 복사472385예제 출력 1 복사236037761416181720 작성코드package mainimport ( "bufio" "fmt" "os")func main() { var a, b int reader := bufio.NewReader(os.Stdin) writer ..

STUDY/Go Lang 2024.09.10

[Go / 백준 18108번] 1998년생인 내가 태국에서는 2541년생?!

문제ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다.불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오.입력서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)출력불기 연도를 서기 연도로 변환한 결과를 출력한다.예제 입력 1 복사2541예제 출력 1 복사1998  참고사항불기연도에서 543을 빼주면 서기 연도가 된다. 작성코드package mainimpor..

STUDY/Go Lang 2024.09.09

[3단계] Go 프로그래밍에 유용한 기법 익히기 (2)

이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 3단계 써머리입니다. Todo 리스트 웹사이트 구현 순서 서비스 정의 Todo 구조체 생성 RESTful API에 맞춰서 핸들러 생성 화면 구성 (프론트) 웹 브라우저 동작 확인 패키지 사용 `$ go get github.com/urfave/negroni` 로그 / panic 복구 / 파일서버 기능 지원 `$ go get github.com/unrolled/render` 웹 서버 응답을 구현하는데 유용한 패키지 구조체 정의 type Todo struct { ID int `json:"id,omitempty"` Name string `json:"name"` Completed bool `json:"completed,omitempty"` } RESTfu..

STUDY/Go Lang 2023.11.13

[3단계] Go 프로그래밍에 유용한 기법 익히기 (1)

이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 3단계 써머리입니다. 목차 객체지향 설계 원칙 SOLID 테스트와 벤치마크 Go 언어로 만드는 웹 서버 RESTful API 서버 만들기 객체지향 설계 5가지 원칙 SOLID 설계 → 프로그램 코드를 이루는 각 모듈 간 의존 관계 정의 나쁜 설계 → 상호 결합도가 매우 높고 응집도가 낮다 경직성 (Rigidity): 모듈간의 결합도가 높아서 코드 변경하기 어려운 구조 부서지기 쉬움 (Fragility): 한 부분 수정 후 다른부분까지 망가지는 경우 부동성 (Immobility): 모듈간 결합도가 높아서 옮길 수 없는 경우(코드 재사용률 감소) 좋은 설계 → 상호 결합도가 낮고 응집도가 높다 객체지향 설계 5가지 원칙 SOLID 단일 책임 원칙: ..

STUDY/Go Lang 2023.11.05

[Go Lang] 고급 기법으로 Go 레벨업하기 (2)

이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 2단계 써머리입니다. 목차 에러 핸들링 고루틴과 동시성 프로그래밍 채널과 컨텍스트 단어 검색 프로그램 에러 핸들링 에러 생성하기 import "fmt" fmt.Errorf("에러 메시지") // 에러 메시지 생성 ===== import "errors" errors.New("에러 메시지") // 에러 생성 에러 타입 type error interface { Error() string } 패닉 panic() 프로그램을 바로 종료시켜서 문제 발생 시점 및 발생한 경로 파악 recover() 프로그램 복구 (제한적 사용 필요) 데이터가 비정상적으로 저장된 상태인 경우가 있음 (다른 오류 발생하지 않도록 사용) 고루틴과 동시성 프로그래밍 고루틴 (Go R..

STUDY/Go Lang 2023.10.29

[GoLang] 고급 기법으로 Go 레벨업하기 (1)

이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 2단계 써머리입니다. 목차 슬라이스 메서드 인터페이스 함수 고급편 자료구조 슬라이스 (slice) → var 변수명 []타입 선언 → 변수명 := []타입{} 선언 → 동적 배열: 자동으로 배열 크기를 증가 시키는 자료구조 → 배열 가리키는 포인터, 요소개수(Len), 전체 배열 길이(Cap)으로 구성된 구조체 append() → 슬라이스만의 기능 (요소 추가) → append(추가하고자 하는 슬라이스, 추가하는 요소) = 새로운 슬라이스 결과 반환 slice := []int{1, 2, 3, 4, 5} slice3 := append([]int{}, slice...) fmt.Println(slice3) // [1 2 3 4 5] slice4 := ..

STUDY/Go Lang 2023.10.22

[GoLang] 가볍게 Go 입문하기 (2)

이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 2단계 써머리입니다. 목차 배열 구조체 포인터 문자열 패키지 숫자 맞추기 게임 만들기 1. 배열 → 같은 타입의 데이터들로 이루어진 타입 → 초깃값 지정하지 않을 경우 기본값으로 초기화 var nums [5]int → [0 0 0 0 0] → 초깃값 지정 days := [2]string{"monday", "tuesday"} → [monday, tuesday] → 지정한 초깃값만 초기화 되고 나머지는 기본값으로 초기화 var temps [5]float64 = [5]float64{24.3, 26.7} → [24.3 26.7 0 0 0] → 인덱스로 지청한 값만 초기화 var s = [5]int{1: 10, 3: 30} → [0 10 0 30 0] →..

STUDY/Go Lang 2023.10.15

[GoLang] 가볍게 Go 입문하기 (1)

[GoLang] — 가볍게 Go 입문하기 (1단계) 이 글은 골든래빗 《Tucker 의 Go 언어프로그래밍》의 1단계 써머리입니다. 목차 Go 언어 변수 fmt 패키지 연산자 함수 상수 if문 switch문 for문 1. Go 언어 → 2009년 발표된 오픈 소스 프로그래밍 언어 → 2009년 11월 10일 발표 홈페이지: The Go Programming Language 온라인 컴파일러: Go Playground - The Go Programming Language Hello World package main import "fmt" func main() { fmt.Println("Hello World") } 2. 변수 → variable: 값을 저장하는 메모리 공간을 가리키는 이름 var 키워드 선언방..

STUDY/Go Lang 2023.10.07

[Kakaotalk] 카카오톡 이모티콘 제작 첫걸음 - 요점정리

일단 카카오톡 이모티콘을 만들기 전에 카카오톡에 대해 알아봅시다![카카오톡 정의]- 영어: Kakao Talk- 발표일: 2010년 3월 18일- 글로벌 모바일 메신저 (프리웨어)- 한국 점유율: 95% [카카오톡 이모티콘을 만들기 전에 해야할 일] 첫번째. "지금까지 나온 카카오톡 이모티콘을 확인한다!" [카카오톡 이모티콘 샾]https://e.kakao.com/ 카카오톡 이모티콘 샾 사이트에 들어가서 인기 클릭 후 요즘 트랜드 이모티콘을 알아본다.또는 검색 버튼을 눌러 내가 만들 이모티콘과 비슷한 컨셉이 있는지 알아본다. 두번째. "카카오톡 이모티콘 규정을 알아본다!" [카카오 이모티콘 스튜디오]https://emoticonstudio.kakao.com/ 카카오톡 이모티콘을 만들기 위한 조건, 이미지..

ETC 2018.08.20