목록코딩테스트 (6)
NewGen

늘 기본이 중요하다고 생각함. 늘 기초를 연습해두어야 함. 대략 저렇게... 문제가 주어지고.. 처음에는 다리길이만큼 Queue Array로 잡고 무게값 총합을 계속 계산하면서 돌았더님나..시간초과가 계속 걸려서.. 그냥 총량을 더하고 뺄때마다 변수하나에 저장하여 돌리니 시간초과가 안걸렸슴 코드 func solution(_ bridge_length:Int, _ weight:Int, _ truck_weights:[Int]) -> Int { var test : [Int] = truck_weights var t : Int = 0; if(test.count == 1) { return bridge_length+1 } var time_arr : [Int] = [Int](repeating: 0, count: brid..

스택 큐 연습인데.. 사실 문제를 이해하는게 더 중요한듯 함. 처음에 대충 읽고 했다가 헤멨슴.. 배열 일괄 계산을 이용하면 좀더 간단해짐. solodevlab.tistory.com/1191 ios - array 일괄계산 let a: [Int] = [90,30,55] let b : [Int] = [1,30,5] 배열 두개 각 원소끼리 연산을 해야 할때... zip사용... for 문 돌려서 할꺼를 아래와 같이 일괄 처리 하면 1줄로 끝낼 수 있슴. arr_a = zip(prog,per).map(.. solodevlab.tistory.com 소스코드

이거는 h-Index 개념을 이해하는데 시간이 걸렸슴.. 내 머리가 일케 안돌아가나 하는걸 느꼈슴. 결국엔 매우 간단하다는걸 깨달음.. --; 주어진 배열을 내림차순 정렬시키고, 인덱스별로 인덱스 값과 배열값을 비교하다가 배열값이 인덱스번호 보다 작거나 같으면 해당 인덱스를 리턴하면 되는거였슴. 배열개수동안 루프 돌다가 주어진 위 조건에 만족을 못하는경우는 그냥, 배열개수를 리턴하면 되는거였슴. 근데 문제 설명이 ... ㅋ 제출코드는 아래와 같고... 소스파일 첨부는 아래에..

요거 어려웠슴. 중요 포인트는 배열 두원소를 문자열로 더 한 후 어느쪽이 큰지를 판별하여 정렬하는것이엇슴. array의 map, sort를 쓸줄 알아야 함. 그리고 짜증나는게.. 모든 원소가 0,0,0, 인경우 "0"으로 나와햐 한다고 말을 안해준듯? "00000" 이래 나와서 통과가 안된듯.. 이걸 알아내는데.. 들인 시간이.. 그래서 안되면 사람들이 질문한거를 빨리 찾아보고 솔루션을 짜야 함. 뭐 소스는 대략 저렇고,,

func solution_best(_ clothes:[[String]]) -> Int { let dict: [String: Int] = clothes.reduce(into: [:]) { //한가지만 입을경우가 있으므로 디폴트가 1 $0[$1[1], default: 1] += 1; } print("dict=\(dict)") return dict.reduce(1) { $0 * $1.1 } - 1 } Dictionary Type 에서 reduce가 어떻게 동작하는지 알아보려면.. 아래 코드 넣어서 테스트 해보자.. //reduce가 어떻게 동작하는지 알아보는 코드 let n1 = dict.reduce(0) { $0+$1.1} let n2 = dict.reduce(2) { $0+$1.1} print("n1=\(..