목록분류 전체보기 (591)
어흥
[Dictionary] 1. 정의 - Key와 Value를 저장해서 가지고 있다(Map이나 HashMap이랑 같다고 보면 될것 같다) - 순서에 상관 X 2. 기본 기능 + 예제 //선언 방법 var scoreDic: [String, Int] = ["Jakob": 85, "John": 100, "Jasmine": 90] var scoreDic2: Dictionary = ["Jakob": 85, "John": 100, "Jasmine": 90] scoreDic["Jakob"]//85 scoreDic["Yasmine"]//nil if let score = scoreDic["John"]{//optional binding print(score) } else{ print("해당 학생이 존재하지 않습니다") } /..
1. 선언 방법 var evenNumbers:[Int] = [2,4,6,8]//[2,4,6,8] let evenNumbers2:Array = [2,4,6,8]//[2,4,6,8] 2. 원소 추가 evenNumbers.append(10)//[2,4,6,8,10] evenNumbers+=[12,14,16]//[2,4,6,8,10,12,14,16] evenNumbers.append(contentsOf:[18,20])//[2,4,6,8,10,12,14,16,18,20] 3. 기타 기능 let isEmpty = evenNumbers.isEmpty//bool값 return let size = evenNumbers.count//배열의 개수 return let firstItem = evenNumbers.first//o..
문제 링크: https://www.acmicpc.net/problem/1238 1238번: 파티 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 www.acmicpc.net 1. 주의할 점 - 초기화를 잘 한다 - 다익스트라 알고리즘을 통해 최단거리를 구한다 - 파티로 가는, 그리고 나가는 거리의 최단거리를 구하기 위해 그래프의 방향이 반대인것도 구해서 벡터 V[][]에 저장한다 2. 구현 - 입력받은 단방향 그래프: 파티 -> 집으로 갈때의 최단거리 - 입력받은 단방향 그래프에서 방향을 반대로: 집 -> 파티까지의 최단거리 - 입력받을 때 단방향그..
문제 링크: https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 문제 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다. 빈 문자열은 www.acmicpc.net 1. 주의할 점 - 전부 한번씩 뒤집어서 비교하는 일은 하지 않도록 한다(최악: 2^2000) 2. 구현 - 초기에 문자열을 입력받을 때, Stack에 문자를 1개씩 넣는다. 단, {}와 같이 쌍을 이룰경우, Stack에서 제외한다 - 위의 과정을 통해 안정적이지 못한 문자열이 Stack에 있을때, 가장 위에 위치한 원소 2개씩 뺀다 (문자열의 길이가 짝수이므로 가능하다) - 원소 2개가..
1. nil이란? : 박스를 생성했는데 안에 값이 없는 상태 var carName: String? = nil//타입뒤에 '?' 꼭 필요 carName = nil//nil 상태 carName = "땡크" //nil 아닌 상태 2. 4가지 고급 기능 - Forced unwrapping > 억지로 박스를 까보기 - Optional binding(if let) > 부드럽게 박스를 까보자 1 - Optional binding(guard) > 부드럽게 박스를 까보자 2 - Nil coalescing > 박스를 까봤더니, 값이 없으면 디폴트 값을 준다 var carName = "Bently" print(carName)//Optional("Bently") 출력 //1. Forced unwrapping print(car..
1. 함수를 매개변수로 사용 //----Function as a param //#1 func add(_ a: Int, _ b: Int)->Int{ return a+b } func subtract(_ a: Int, _ b: Int)->Int{ return a-b } var function = add print(function(4,2)) //6 function = subtract print(function(4,2)) //2 //#2 func printResult(_ function:(Int, Int) -> Int, _ a: Int, _ b: Int){ let result = function(a,b) print(result) } printResult(add, 10, 5) //15 printResult(subt..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/99jAa/btqG6drDxOu/k89GZjjQGL8RsAD3nkv0HK/img.png)
1. While Repeat-While(Do-While와 같은 문법) - While 실행 순서: 조건 확인 > 코드 수행 - Repeat-While 실행 순서: 코드 수행 > 조건 확인 - 간단한 예시 print("------While") var i=10 while i
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 두 일꾼이 같은 선택된 벌꿀통을 고르면 안된다 - 각 칸을 기준으로 최대 M칸까지 오른쪽으로 골랐을때의 최대 가중치를 저장한다 2. 구현 - Check[][] 배열을 false로 초기화시켜서 같은 벌꿀통을 고르지 않도록 확인하기 위해 false로 전부 초기화한다 - DFS() 사용하여 해당 칸을 골랐을 때 기준으로 최대값을 (가중치의 내림차순 순서로 정의)우선순위큐에..