스위프트 3

[Swift] BOJ 2606 바이러스

BOJ 2606 바이러스 ✅ 이건 진짜 쉬웠음. ( solved.ac 기준 실3 ) 사실 이전에 다른 문제가 안풀려서 이걸로 이동함 그 문제는 문제 설계는 했는데, 뭔가 어디서 오류가 나는지 제대로 안되어서 걍 패스했음. 다른건 아니고 주의할 점 하나만 남겨두겠음. 내가 흔히 하는 실수 중 하나가, 데이터를 입력 받는 순간에서 저지르는 실수인데 그래프 형태라면 서로가 서로를 배열에 담아야 함. 무슨 말이냐면 나는 주로 [ Int: [Int] ] 형태로 입력을 처리하는데 2번과 5번의 경우 2: [1,3,5] 5: [1,2,6] 이렇게 가져야한다는 말임. 근데 나는 트리처럼 처리를 해서 실수를 종종함. 나는 그냥 DFS로 했는데 BFS사용해도 상관 없음 🟠 코드 import Foundation struct..

[Swift] 프로그래머스 LV2. JadenCase 문자열 만들기

프로그래머스 LV2. JadenCase 문자열 만들기 ✅ 프로그래머스 LV2. JadenCase 문자열 만들기 이거 왜 포스팅 하냐면, 코딩 테스트에서 dumped core 나는 경우 먼저 확인해 보고자 하는 의미에서 포스팅함. 물론 알고리즘이 정확하다고 가정 아래 코드에서 7번 줄의 주석을 보면 코드를 수정한 것을 볼 수 있는데, 주석 처럼 작성하니 에러가 났음 func solution(_ s:String) -> String { let s = s.components(separatedBy: " ").map { $0.lowercased() } var answer = [String]() s.forEach { str in if ((str.first?.isLetter) != nil) { // str.first!..

[Swift] 프로그래머스 LV2. 삼각 달팽이

프로그래머스 LV2. 삼각 달팽이 ✅ 프로그래머스 LV2. 삼각 달팽이 아주 오래걸린 문제였다. 여러가지 방법이 있었는데, 처음에는 배열을 [ [], [], [], [] ] 이런 식으로 세팅해 두어서 insert와 append로 알고리즘을 작성하니까 너무나도 어려웠다. 근데 그냥 n = 3이라고 가정하면, [ [0,0,0], [0,0,0], [0,0,0] ] 이렇게 세팅하고 푸니까 우선 훨씬 쉬워질 수 있었다. 왜냐하면 index를 [row][col]로 접근할 수 있어서!! 문법적으로는 2가지를 보면 된다. 1. 2차원 배열을 크기를 주어서 만드는 방법과 2. flatMap을 사용한 부분 🟠 알고리즘을 떠올리는 과정 이걸 곰곰이 생각해보니까, [ 1 ] [ 2, 9 ] [ 3 ,10 ,8 ] [ 4, 5..