Go Slice 사용법, 구조 그리고 append() 원리까지 Deep Dive
Go array는 정적 배열이고 동적 배열은 Slice이다. 기본적인 사용법은 간단하다. 선언 및 초기화 방법들 var slice []int //크기가 0이고 요소 타입이 int인 slice 생성 var slice []int = []int{1,2,3} // 크기가 3이고 요소로 1,2,3을 갖는 슬라이스 var slice = []int{1, 5: 2, 10: 3} //[1 0 0 0 0 2 0 0 0 0 3] 5번째에 2를 10번째에 3을 넣어서 초기화 var slice = make([]int, 3) // 크기가 3이고 각 요소는 type별 default로 초기화 (int의 경우 0임)\ var slice = make([]int, 3,5) // len == 3 , cap == 5 순회 for i:=0; ..
더보기
임의의 요소의 값보다 요소의 값이 다 작은 경우가 한번이라도 있다면?
프로그래머스 인사고과 문제의 포인트이다 완호네 회사는 연말마다 1년 간의 인사고과에 따라 인센티브를 지급합니다. 각 사원마다 근무 태도 점수와 동료 평가 점수가 기록되어 있는데 만약 어떤 사원이 다른 임의의 사원보다 두 점수가 모두 낮은 경우가 한 번이라도 있다면 그 사원은 인센티브를 받지 못합니다. [[2,2],[1,4],[3,2],[3,2],[2,1]] 이런 배열의 경우 4번째 요소인 [2,1]은 2번째,3번째 요소보다 모든 요소의 값이 작기 때문에 걸러진다. 이제 최대 100000개의 요소가 들어있는 배열에서 요소들을 걸러야 하는데 10만개라서 N^2으로는 풀이를 할 수 없다. 하지만 정렬을 이용하면 N으로 풀이가 가능하다. 첫번째 요소를 기준으로 내림차순 정렬, 두번째 값 기준으로 오름차순 정렬을..
더보기