TIL 43

37일차 TIL

Swift 알고리즘 및 언어공부 헉 이번엔 진짜 길어서 두 장에 담았다.... ㅋㅋㅋㅋㅋ,, 전에 같은 팀원님 블로그에서 이 문제 봤던 것 같은데ㅜㅜ 나도 도전 ! contains 함수와 Dictionary를 써봤다 ! Dictionary 이론? 상으로는 알고 있었지만 써보기가 쉽지 않았는데, 이렇게 써보니까 확실히 공부가 되는 것 같음 그런 의미에서 한 번 더 정리.. contains(_:) : 시퀀스에 지정된 요소가 포함되어 있는지 여부를 나타내는 부울 값을 반환 let cast = ["Vivien", "Marlon", "Kim", "Karl"] print(cast.contains("Marlon")) // Prints "true" print(cast.contains("James")) // Prints..

TIL 2024.04.18

36일차 TIL

Swift 알고리즘 및 언어공부 60. 기사단원의 무기 또 문제가 길구먼,,, 1번 기사부터 number번 기사의 무기를 사는데, 필요한 철의 무게를 return 해야 한다. 각 기사는 약수의 개수를 공격력으로 가지는 무기를 구매해야 한다. 공격력 제한 수치 limit의 값을 넘을 경우 power로 공격력을 제한한다. 공격력 1당 1kg에 철이 필요함 1. 1번부터 number번의 약수의 개수를 구해 배열에 append 2. 배열을 다 더하는데 if문으로 limit이랑 비교해서 계산 뭔가 고차함수나 더 코드 줄일 수 있을 것 같은데,,라고 생각했는데 , 시간초과 오류가 나버렸다! 하하.. for i in arr 부분 삼항연산자로 바꿔서 코드 줄여줬는데,, 그래도 시간초과.. chatGPT한테 물어보니까,..

TIL 2024.04.17

35일차 TIL

Swift 알고리즘 및 언어공부 아니 문제가 왜 이렇게 길어.. 깜짝 놀랐네.. 입출력 예시를 보면 더 이해하기 쉽다 ! 1. section에 첫 번째 수부터 m만큼 이동 (색칠) 2. cnt에 1 추가 3. 이동한 값이랑 section 두 번째 수랑 비교해서 이미 색칠되었는지 아닌지 확인 4. 색칠되지 않았다면 cnt에 1 추가하는 거 반복 배열로 m 개씩 반복하면서 contain함수로 포함하는지 안 하는지 확인해서 어쩌구 생각했다가, 칠해야 할 부분이랑 아닌 부분 true, false로 지정해서 색칠해 주기.. 이런 거 생각해 봤는데,, 너무 꼬이는 것 같아서 그냥 다 지우고ㅜ 다시 생각해 보니 그냥 section 에서부터 m만큼 색칠해 주면 되잖아ㅏ..? 겹치면 그냥 넘어가고, 색칠 안 해준 sec..

TIL 2024.04.16

33일차 TIL

Swift 알고리즘 및 언어공부 57. 모의고사완전탐색 _ 프로그래머스 우선 배열이 숫자가 반복되고 있는데, 어떻게 0으로 돌아가지? 에 대한 고민을 많이 했던 것 같다! 근데 전에 날짜 요일 구하는 알고리즘에서 %7 해줬던 게 생각나서 어찌어찌하다 보니 이렇게 코드를 짰다. import Foundation func solution(_ answers:[Int]) -> [Int] { let oneP:[Int] = [1,2,3,4,5] let twoP:[Int] = [2,1,2,3,2,4,2,5] let threeP:[Int] = [3,3,1,1,2,2,4,4,5,5] var correct1:Int = 0 // 1 맞힌 문제 var correct2:Int = 0 // 2 맞힌 문제 var correct3:I..

TIL 2024.04.12

32일차 TIL

Swift 알고리즘 및 언어공부 우선 처음에 최적으로 m 만큼씩 상자에 나눠 담을 코드를 적었다. 만약에 총값이 상자에 딱 맞게 나누어 떨어지면 이런 방식으로 하고, 안 나누어 떨어지면 나머지 수만큼 가장 작은 수들을 버린 후에 이런 방식을 적용해 주기로 생각했는데, 자꾸 에러가 떴음.. 그래서 chat gpt에 왜 오류가 나는지 물어봤는데 - 주어진 코드에서 발생하는 주요 이슈는 arr이 빈 배열로 초기화되어 있어서, 배열 요소에 접근할 때 인덱스 오류가 발생한다는 점입니다. 코드에서 arr을 빈 배열로 선언한 후에는 이 배열에 요소를 추가하거나 요소에 접근하기 전에 요소를 추가해야 합니다. 현재 코드에서는 빈 배열 arr에 요소에 직접 접근하고 값을 할당하려고 하기 때문에 인덱스 오류가 발생합니다. ..

TIL 2024.04.11

30일차 TIL

Swift 알고리즘 및 언어공부 그동안 팀프로젝트를 진행하느라 하지 못했던 알고리즘을 계속 풀어보려고 한다! 항상 아침에 일어나면 막 급하게 노트북 켜서 과제 시작했는데,, 프로젝트를 완료했다는 게 살짝 실감이 난다. 풀어보면 굉장히 간단한데, 그 푸는 방법에 도달하기까지 엄청나게 생각해야 하는 문제였다.. 아닌가 나만.. 바보인가..?! 처음에는 각 달에서 시작하는 요일을 구해서 일수만큼 또 더해서 막 이런 식으로 생각하니까 아니.. 어떻게 풀지... 이렇게 하는 거 아닌 거 같은데라고 본능들이 외치기 시작함.. 그래서 힌트를 얻기 위해 검색 찬스를 썼는데, 입력받은 총일수에 나누기 7을 해서 나머지 값으로 요일을 구하면 된다고,,,ㅠ이런 똑똑한 방법이...😵‍💫 func solution(_ a:Int..

TIL 2024.04.08

29일차 TIL

오늘도 팀 프로젝트 오전에 수정하려고 했던 부분은 1 셀이 중복되어서 선택될 경우 셀을 새로 추가하지 않고, cntLabel에 중복된 만큼 추가되도록 하는 기능을 구현하고자 했음 2 장바구니 addBadge가 장바구니가 사라져도 계속 숫자를 갖고있길래 수정하려고 했음 - 근데 잘 안되었다. . 나중에 팀원분이 도와주셨다. 기존 코드는 그냥 배열을 만들고, 거기에 데이터를 추가하는 방식으로 사용했는데, Menu라는 모델 클래스를 따로 만들어서 메뉴 페이지와 장바구니 페이지에 사용할 데이터를 담아줘서 이동을 편리하게 만들어주셨다. 그렇게 코드를 수정하니 오류도 해결되었다. 처음부터 이런 방식으로 했으면 좋았을 텐데 아쉬웠다 import Foundation class Menu { static var thing..

TIL 2024.04.05