Golang 변수 초기화와 정의된 데이터 타입, 함수
Golang의 특징중 하나는 무조건 변수의 초기값이 할당된다는 것입니다. 즉, 쓰레기 값이 없습니다. 또한 이미 정의된 키워드(int, true, float32 etc...) 들도 있으며, 이에 대해 설명하고자 합니다. 1. Go 정의된 데이터 타입과 함수 상수 true, false, iota, nil 타입 int, int8, int16, int32, int64 uint, uint8, uint16, uint 32, uint64, uintptr float32, float64, complex64, complex128 bool, byte, rune, string, error 함수 make, len, cap, new, append, copy, close, delete complex, real, imag pani..
2021. 8. 29.
프로그래머스] C++ 2017 카카오 - 단체사진 찍기(Level 2)
해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/1835 1. 조건 첫 번째 글자와 세 번째 글자는 다음 8개 중 하나이다. {A, C, F, J, M, N, R, T} 각각 어피치, 콘, 프로도, 제이지, 무지, 네오, 라이언, 튜브를 의미한다. data는 1 ~ 100개까지 들어 있다. data의 각 요소들은 다음과 같은 형태를 갖는다. - 첫번째와 세번째는 알파벳(A, C, F, J, M, N, R, T 중 1개) - 네번째 글자는 ( , = ) 중 하나이다. - 다섯번째 글짜는 숫자로 각 인원이 원하는 거리를 뜻한다. data의 조건을 만족하면서 줄을 설 수 ..
2021. 7. 20.
프로그래머스] C++ 2020 카카오 인턴십 - 키패드 누르기(Level 1)
해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/67256 1. 조건 1. 왼손과 오른손이 있다. 왼손에 가까운 키페드는 1, 4, 7 이고, 오른손에 가까운 키패드는 3, 6, 9 이다. 2. 숫자가 주어질때, 왼손과 오른손을 사용해서 번호를 눌러야 하는데, 2, 5, 8, 0 숫자인 경우 현재 있는 손의 위치에서 가장 가까운 손으로 터치한다. 3. 만약 양손의 거리가 같다면 hand에 있는 손을 우선순위로 둔다.(오른손잡이, 왼손잡이) 2. 풀이 왼손과 오른손은 각각 1, 4, 7 과 3, 6, 9로 나뉘어서 해당 부분만 if문 처리해주면 쉽게 도출할 수 있습니다..
2021. 7. 14.
프로그래머스] C++ 2021 카카오 인턴십 - 거리두기 확인(Level 2)
해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/81302 1. 조건 1. String이 담긴 배열이 주어진다. 해당 String은 5X5로 무조건 고정이다. 2. P, O, X가 있으며, P는 사람의 위치, O는 빈공간, X는 칸막이 이다. 3. P1 와 P2 사이의 거리는 멘허튼 거리 2이상을 유지해야 한다. (여기서 멘허튼 거리는 다음 공식으로 계삲할 수 있다.) ※ 두 테이블 T1, T2가 행렬 (r1, c1), (r2, c2)에 각각 위치하고 있다면, T1, T2 사이의 맨해튼 거리는 |r1 - r2| + |c1 - c2| 입니다 4. 멘허튼 거리에 P1와 ..
2021. 7. 11.
Golang Array, Slice 사용법. (append)
Golang에는 Array와 Slice가 있습니다. Array는 정적 배열, Slice는 동적 배열로 표현됩니다. 사실 이 둘의 차이는 선언할 때 배열의 길이를 정해주느냐, 정해주지 않느냐의 차이입니다. 하지만 이 차이가 정적과 동적 배열을 결정하게 됩니다. 1. Array package main import "fmt" func main() { var arr1 [5]int = [5]int{1, 2, 3, 4, 5} var arr2 = [3]int{1, 2, 3} arr3 := [4]int{1, 2, 3, 4} fmt.Println(arr1) //output : [1, 2, 3, 4, 5] fmt.Println(arr2) //output : [1, 2, 3] fmt.Println(arr3) //output..
2021. 6. 27.