[231122] Today I Learned

YoungHyun Kim·2023년 11월 22일
1

TIL ✍️

목록 보기
3/68

오늘 배운 것

[프로그래머스] 카드 뭉치

  • Array.isEmpty -> Bool
    • isEmpty 메소드는 Bool값을 반환하는데, 이를 삼항연산자의 조건으로 사용해서 어떤 값을 변수에 저장할 지 결정하는 데 활용해봤다.
  • 이 문제에서 배운 것은 Bool 변수를 어떤 식으로 활용하는 것이 가능한지 여러 방면으로 내가 혼자 고민해보고, 적절하게 활용하는 데에 성공한 것! 이지 않을까...

앞으로 조건절을 작성할 때 Bool 자료형의 변수를 어떤 식으로 사용할 수 있을 지 많은 고민을 해보는 습관을 들이면 좋을 것 같다.


[프로그래머스] 과일 장수

  • 오늘 진행한 알고리즘 코딩문제에서 공통적으로 사용한 함수에는 아래 두 가지 함수가 있다.

    • Array.removeLast() : 현재 배열에서 맨 마지막에 있는 요소를 추출해서 반환하는 메소드
    • Array.removeFirst() : 현재 배열에서 맨 처음에 있는 요소를 추출해서 반환하는 메소드

    두 메소드 모두 배열 내부의 요소를 추출, 그러니까 메소드가 실행되면 기존 배열에 요소는 삭제되고 이 값을 타 변수에 새로 저장해서 사용해야 하는 특징을 가지고 있다. 이러한 특징을 활용하면, 배열의 요소 전체에 대해서 특정 값과 비교를 진행하고 작업을 끝낼 수 있는 조건을 작성하는 데에 유리하더라.

항상 함수의 반환값이 어떤 데이터 자료형을 가지는지 살피고 적절한 반환값을 설정하도록 하자! (이 부분에서 실수하기는 어렵다... Xcode는 모두 알고있어서 잘못하면 빌드시켜주지 않는 무자비한 IDE이니까...)


[프로그래머스] 모의고사

  • 모의고사 문제에서는 제일 어려웠던 부분이, 세 가지의 값을 비교해서 최다 정답자를 산출하는 부분이었다.

    • 바보같지만, 꽤 고민을 많이 해서 방법을 고안해냈는데... 세 값을 하나의 배열에 저장한 후 Array.max() 메소드를 활용해서 해당 배열의 최대값과 각 요소를 모두 비교하는 반복문을 작성하는 것이 그 방법이었다.

    아마 조금 더 찾아보거나, 다른 사람들이 해결한 방법을 보면 더 깔끔하고 더 멋지게 코드를 짤 수 있는 방향이 많을 것이다.
    그래도 문제를 풀어낼 수 있는 나 자신에 대해서 조금은 뿌듯함을 느낀다. (그래도 되지 않을까 싶은데...)

더 발전하고 싶다. 나중에 지식이 늘어나게 된다면 이 문제들을 하나씩 다시 찾아보면서 더 간단하고 읽기 쉬운 방법으로 리팩토링(?)하는 작업을 꼭 해야지! 라고 다짐해본다.

profile
iOS 개발자가 되고 싶어요

0개의 댓글