
나의 코드 (24.1.17)이렇게 생각한 이유.처음에 아무런 생각 없이 그냥 단순히 차로 생각하여제한사항을 고려하지 않고 num1-num2를 바로 return하였음.개선한다면?1\. 제한사항을 먼저 고려하여 코드를 작성한다.2\. return값을 바로 하지않고 또다른

나의 코드

나의 코드 (24.1.19)이렇게 생각한 이유.제한사항을 반영하여 코드를 작성하기 시작하였음.

나의 코드 (24.1.18)이렇게 생각한 이유.입출력 예를 들었을때 40살을 넣었을때 1983이 출력 된다는것은 2022년을 기준으로 하였을때 한국은 0살이 아닌 1살을 기준으로 하므로 2022-age가 아닌 2023-age로 하였다.

나의 코드 (24.1.19)이렇게 생각한 이유.단순히 숫자를 비교하기 위해서 코드를 적었고 or조건을 추가하였다.자체 피드백 (24.1.24)코드를 적고나서 문득 생각이 들었던 것은 굳이 이렇게 or 조건을 하는게 아니라 애초에 서로 값이 다르면 -1 같으면 1을 리턴

나의 코드 (24.1.24)이렇게 생각한 이유.단순히 합을 구하는 것이므로 정답을 담을 변수를 하나 생성 한 후 제한조건에 맞게 설정한 뒤 변수에 두수의 합을 담아서 리턴하였다.

나의 코드 (24.1.24)처음에 막힌 이유.형변환인데 처음에는 Double로 num1/num2를 전체로 단순하게 감싸서 계산을 하면 될것같다는 안일한 생각을 하였다. 실제로 답이 틀려서 playground를 통해 실제로 나눈값을 출력을 해보니 3/2 = 1 이 나왔다

나의 코드이렇게 생각한 이유.다중if문을 통해 범위를 지정함으로써, 예각, 직각, 둔각, 평각을 구현하였다.if말고 switch-case 문을 통해서도 가능하다.
이렇게 한 이유. swift의 for문은 자바와 다른 부분이 있어서 검색을 하던 중 for문에 조건문을 달수 있는것을 발견하여 for문에 where 조건을 달아서 코드를 작성하였다. % 은 나머지를 구할때 사용한다. 2를 나누었을때 0이 된다는것은 즉 짝수를 의

나의 코드 (24.1.24)이렇게 생각한 이유.우선 배열이 주어지기 때문에 배열의 값을 누적하여 더할 변수 sum과 정답을 반환할 answer두개의 변수를 만들었다.이때 두 변수의 자료형을 double로 한 것은 입출력의 예를 보면 답이 소수를 띄기 때문에 미리 자료형
나의 코드

나의 코드이렇게 작성한 이유.최근에도 비슷한 문제가 있었는데 그때는 in 0 ... arr.count-1 로 했었던 걸로 기억한다.그래서 이번에는 ... 이 아닌 ..< 을 사용을 해보았다.후기.제출 후 다른 사람들은 어떻게 작성을 했을까 보던 중reduce를 통

나의 코드이렇게 생각한 이유.처음에 자릿수를 어떻게 해야할까 고민을 하면서 배열을 써볼까 어떻게 할까 이런저런 고민을 많이 했다.그러다 문득 계속 10을 나누게 되면 그 값의 나머지가 자릿수를 의미한다는것을 깨달았고 10을 계속 나눈 값을 answer 변수에 계속 넣었

이렇게 작성한 이유처음에 코드를 n == 0인 조건을 하지않고 작성하고 제출을 하니 에러가 났다. 생각해보니 n = 0일때는 for문이 1부터 시작이라 논리적으로 맞지 않다는것을 확인했다.그래서 n = 0일때 결과값이 0이라는걸 미리 설정하고 그다음에 else를 걸어서

나의 코드이렇게 생각한 이유.처음에는 단순히 나머지가 1이 나오게해서 반복문을 하여반복문 사이에서 숫자를 비교하게할까 했었다.하지만 그렇게 했을때 더 꼬일것같아서 배열을 추가해서 넣는 방안으로 선회를 하였다. (물론 숫자를 비교해서 하려고 노력을 하였으나 나의 지식의
나의 코드 이렇게 생각한 이유.

이렇게 생각한 이유.15,16과 마찬가지로 append를 하여 배열에 입력을 하고자하였다.그리고 최근에 풀었던 각 자리수의 합을 떠올려 나머지값으로 배열에 집어넣었다.왜냐하면 제일 마지막수부터 인덱스의 첫번째 값으로 들어간다는건 10으로 나누었을때 나머지랑 같은 의미이

나의 코드이렇게 생각한 이유.일단 일차원적으로 생각을 했다. 단순히 문자열에 인트를 감싼 일차적인 변환.아니나 다를까 역시 데이터형이 맞지않다는 에러가 발생하였다.그러다 문득 자바에서 쓰던 parseInt와 비슷한게 있나 싶어 구글링을 하게 되었다.알고보니 처음에 생각

나의 코드이렇게 생각한 이유.처음에는 어떻게 할지 몰라서 계속 생가하다가 결구 구글링을 하게 되었다, 다른사람의 코드를 직접적으로 본것은 아니지만, 해당글을 통해 아이디어를 얻었고 위와 같이 코드를 작성하였다.하지만 101이이라는 예외의 수가 존재하였고, 제출하였으나
나의 코드 이렇게 생각한 이유. 솔직히 좀 방식이 무식하게 했다고 생각한다. 일단 각 자릿수를 반환하기 위해서 배열을 만들고 나머지값을 append를 통해 하나씩 넣었다. 그 이후에, 정렬하는 sort함수를 이용해 내림차순 정리를 하였다. 하지만 그 이후가 문
나의 코드 이렇게 작성한 이유. 이번에는 고차함수와 삼항연산자를 모두 써보려고 노력을 했다. 그러다보니 더 오랜시간이 걸렸고, 정리를 했으나 아직까지 내것으로 만들지 못했다는 생각이 들었다. 확실히 작성을 해두니, 코드가 엄청 깔끔하다는 생각은 든다. 다른코

나의 코드이렇게 생각한 이유.그냥 기본적인 생각에 입각하여 작성하였다.이것도 다른 풀이를 보니. 최댓값 최솟값 부터 시작해서, 이것도 역시 reduce를 통해 해결하였다. 나도 reduce를 생각하였으나 오래걸릴것같아 하지 못했는데, 나중에 시간날때 해봐야겠다.
나의 코드 이렇게 생각한 이유.
나의 코드 이렇게 생각한 이유. 처음에는 for 문을 통해 배열에 접근하여 반복문을 돌리면서 "Kim"과 일치할때의 i값을 찾아 i를 리턴하여 출력을 하려고 하였다. 하지만 비효율적이라는것을 알았고, 배열에 직접 접근하는 키워드를 통하여 코드를 간략화 하였다.

나의 코드이렇게 생각한 이유.어제 문제풀고 깜빡하고 올리지 않아서 오늘 올린다.일단 배열에 접근하여 divisor로 나머지가 0 즉 나누어 떨어지는 값을 answer라는 새로운 배열에 담았다.그리고 하나도 없다는 조건이 있으므로 새로운 if문을 만들어서 추가를 하였다.

나의 코드이렇게 생각한 이유.처음에는 단순한 signs 배열에서 index에 접근해서 하려고 했으나 되지 않았다. (for 문에 count대신, 배열 그자체로 접근해서 안되었다.)알고보니 dictionary type으로 쓸 수있는 enumerated를 사용하는 방법이

우선 배열로 만들었다. 그리고 count -5를하여 뒤의 4자리만 살리게 하려고 하였다.그대로 제출을 하니 count 가 4일때 즉 길이가 4일때는 에러가 발생하였다.그래서 if 문을 걸어서 길이가 4일때는 문자열 그대로 출력하게 하였다.suffix, prefix를 알

없는 숫자를 더한다고해서 처음에 contains를 써야하나 고민을 하다가 생각해보니 0~9까지 더한 숫자에서 현재 배열에 가지고 있는 숫자를 더한값을 빼면 그게 없는 숫자의 총합이라는것을 알게되었고, reduce를 사용하여 간략하게 해보려고 하였다.

firstIndex, min 모두 optional 가능성이 있기에 unwrapping을 해줘야하는데 min에만 꽂혀서 거기만 unwrapping하고 생각하다가. of:뒤에 숫자를 넣고 테스트를 해보니 firstIndex역시 unwrapping이 필요했다.

아래코드와 거의 비슷하나 나는 Index 범위를 생각을 하긴했지만 적용을 하질 못해서 무시갛게 그냥 더해서 했다.좀 더 공부해야겠다.

suffix : 시작 기준으로 지정한 문자 개수 출력prefix : 종료 기준으로 지정한 문자 개수 출력요새 자주 까먹는다 기억 잘 해두자.수박수박~ 이렇게 이어져가야해서 repeating을 통해 예문을 만들고그것을 n의 범위까지 추출하는 방식으로 풀었다다른 코드들을

for문을 사용해서 해결했는데 아래보니 zip이 있었다.zip2개 이상의 시퀀스를 조합하여 하나의 새로운 시퀀스를 생성한다.zip함수를 사용하면 여러 시퀀스들을 병렬로 순회하며 요소들을 조합 할 수 있다.zip은 각 시퀀스에서 동일한 인덱스의 요소들을 묶어 새로운 튜플

배열로 변환하여 내림차순으로 한뒤 다시 join으로 하면서 문자열을 하나로 맞추었다.

단순 범위를 이용하여 map으로 배열을만들고 reduce를 함으로써 간단하게 범위의 합을 구할 수 있어서 1부터 카운트 까지 합을 구하였다.이유는 입출력의 예를 보고 이용금액이 (3+6+9+12) 라는것은 3(1+2+3+4) 이고즉 price \* count까지의 누적
repeating을 사용하여 행을 만들었고 그다음 for문을 통해 반복출력하였다.

최대공약수 최소공배수를 너무 오래간만에 해서 숫자를 보면 바로 계산이 되었지만 이걸 어떻게 코드로 풀어나가야할지 고민이 많이 되었다.그래서 최대공약수를 어떻게 구하는지를 먼저 찾아보고그것을 코드로 구현을 했다.코드로 구현을 하고나서 찾아보니 내가 한방식이 틀리지 않았다
우선 3으로 나눈 값의 나머지를 배열에 담았다.그리고 배열을 반대로 바꾸어 주었다. 왜냐하면 인덱스로 접근하기 위해서였다.그렇게 하고 배열의 값을 pow를 사용해서 곱하여 더했다.전에 찾아보니 radix를 사용하면 쉽게 진수변환이 가능하다는걸 알았다. 여기에 별도로 적
우선 split을 사용하여 " "단위로 구분을 지었다.

뭔가 Stylish하게 하고싶었는데 그러지 못했다.일단 t에대해 각각의 원소를 담는 배열로 만들었다.그리고나서 p가 1일때는 map그대로 쓰면 되기에 if조건을 달아서 1보다 클때를 기준으로 나눴다.그리고서 반복문을 사용했는데string은 계속 initializing해

처음에 문제를 잘못이해 했는데 알고보니 인덱스에 해당하는 숫자가 들어가는 것이었다.그리고 문제를 보니 절반만 구하고 나머지는 그것에 역순으로 들어가는것으로 판단하여, 절반만 구하고 0을 붙이고 reversed()를 붙이면 되겠다는 생각을 하였다.그래서 map을 통해 2

일단 요일을 보고 전체 일수에서 7을 나눈 나머지를 기준으로 하면 되겠다라는 판단이 섰다.그래서 day라는 배열을 만들고 각 수를 집어 넣어 줬다.그리고 for문을 사용해서 더해주는데, 저기 조건에선 1일때 에러가 발생하기 때문에, 1월이 아닐때만 for문이 돌고 1월

for문을 사용하였고, 중복값을 제거하기 위해서 우선 Set을 사용해 집어넣었다.첫번째 for문은 마지막값 전까지 들어가야 하고 두번째 포문은 i부터 마지막까지 하게 하였다.그리고나서 문제에션 set이 아닌 array를 리턴해야 하므로, 배열을 만들었다

새로운 배열을 하나 만들어서 commands 배열 조건에 맞는 숫자 범위로 해서 값을 넣었다.commands안에 있는 번째는 1을 처음부터 하기에, 우리가 사용하는 인덱스의 개념과 달라 -1을 해주었다.


두개 뽑아서 더하기 문제와 비슷한 방식으로 풀었다.

zip을 사용해보고자 이렇게 만들었다. 사실 효율성에선 좋지 못한 코드이다.굳이 안만들어도 되는 배열을 3개나 그것도 길이를 10000까지 만들기 때문이다.하지만 zip을 사용해서 풀고싶어서 이렇게 해보았다.제일 많이 맞춘사람만 뽑으면 되기에 max를 사용하였다.

요새는 고차함수를 애매하게 쓰는것 보다 문제풀이에 집중을 하다보니. for문을 사용하였다.그리고 코드가 길어질것같아 소수를 구하는 함수를 새로 만들어서 풀었다.

사실 이건 온전히 내가 적은건 아니다.초기에 적은건 다음과 같다.단순히 약수의 개수를 구하면 된다고 생각했기에, 하나하나 직접 구해서 하는 방식으로 하게되었다.그런데 이건 위에서도 적었지만 하나하나 다 구해서 배열에 담는 구조이기에 숫자가 커지면 커질수록 그만큼 시간이