TIL (Today I Learned)

99클럽 코테 스터디 4일차 TIL + 오늘의 학습 키워드

남 희 2024. 7. 25. 23:03

☑️ 문제: JadenCase 문자열 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

☑️ 핵심코드

            if (i == 0 || (s.charAt(i-1) == ' ')) {
                answer += Character.toUpperCase(ch);
                continue;
            }
            
            if ('A' <= ch  && ch <= 'Z') {
                answer += Character.toLowerCase(ch);
                continue;
            }

 

 

☑️ 코드 피드백 받은 것

  1. String 말고 StringBuilder에 더했다면 어땠을지 -> 그랬다면 속도, 메모리 측면에서 장점이었을 것이다!
  2. i = 0으로 시작해서 if i == 0으로 처리하지 말고, i = 1로 시작했음 어땠을지 -> 확실히 불필요한 분기처리가 줄고 if문 가독성이 좋아질 것 같아 좋을 것 같다!

 

☑️ 업무 관련 회고

  • 실시간 audio capture 분석과 처리를 하려면, AVAudioEngine이 가장 필요한 기능을 더하기 쉽고 다양한 설정 옵션을 제공한다고 한다.
  • AVAudioEngine은 AVAudioInputNode, AVAudioMixerNode, AVAudioOutputNode를 하나씩 가질 수 있다고 한다.
  • AVAudioSession.InterruptionType에는 began(1)과 ended(0)만 있다.
  • AVAudioSession.InterruptionOptions에는 shouldResume만 있다.
  • AVAudioSession.interruptionNotification을 내가 원하는 타이밍에 post할수도 있다.
  • 그 외에 Custom하게 Key를 userInfo에 추가할 수도 있다.