본문 바로가기
728x90

분류 전체보기302

[Swift] 프로그래머스 성격 유형 검사하기(lv. 1) [Swift] 프로그래머스 성격 유형 검사하기(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (문제가 개길다....) 2. 접근 문제가 너무 길어서 읽다가 포기할 뻔 했다. 하지만 천천히 읽어보다 보니, 그다지 어려운 것이 아니라, 딕셔너리를 활용해서 적절하게 값을 바꿔주고, 점수만 세주면 되는 것이었다. 4점 이라면, 패스를 하고, 4점 미만이라면, 4 - i 만큼의 숫자를 더해주고, 4점 초과라면 i - 4 만큼의.. 2023. 2. 21.
[Swift] 프로그래머스 문자열 나누기(lv. 1) [Swift] 프로그래머스 문자열 나누기(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 두 가지를 세주면 된다. 특정 글자가 나오는 횟수, 특정 글자가 아닌 것이 나오는 횟수. 그리고 문자열을 분리할 때마다, 그 횟수를 다시 세는 것이 필요하다. 아래 코드에서 반복문의 첫 번째 if문은 s의 끝까지 모두 반복이 끝났을 경우, 남아있던 배열을 답변 배열에 넣어주는 역할을 한다. 두 번째 if문은 count1,.. 2023. 2. 20.
[Swift] 프로그래머스 과일 장수(lv. 1) [Swift] 프로그래머스 과일 장수(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 처음 문제를 봤을 때 단순히 내림차순으로 하여 m개 만큼 쌍을 지어 묶으면 된다고 생각했다. 어느 쌍에서 [가장 작은 수 * m] 한 것을 누적합하면 result를 얻을 수 있을 것이라 생각했다. 아래 코드에는 sortedScore에 내림차순된 score가 들어가 있다. 그리고 순회를 돌면서 tempArray에 sortedS.. 2023. 2. 18.
[Swift] 프로그래머스 옹알이 (2)(lv. 1) [Swift] 프로그래머스 옹알이 (2)(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 lv. 0의 옹알이 (0)과 비슷한 문제인데, '연속해서 발음'하는 것을 하지 못한다는 것을 유의해야 한다. 그래서 옹알이 (0)에서는 replacingOccurrences(of: "aya", with: "1")로 모두 치환을 하였지만, 여기에서는 각각 1, 2, 3, 4로 치환해주었다. 아래 코드에서 반복문과 map 함.. 2023. 2. 17.
[Swift] 프로그래머스 신규 아이디 추천(lv. 1) [Swift] 프로그래머스 신규 아이디 추천(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 주어진 대로 단계별 처리를 해주도록 필터나 맵을 써주면 되는 문제였다. 다만, 4, 5단계를 마치고 난 후 6, 7단계에서 특정 문자를 지웠는데, 마침표가 남아있어서 통과가 안 되었었다. 그래서 6, 7단계를 거치다가 마지막 문자가 마침표일 경우, 한 번 더 removeLast()를 해주는 것으로 보완을 하였다. 구현 .. 2023. 2. 16.
[Swift] 프로그래머스 기사단원의 무기(lv. 1) [Swift] 프로그래머스 기사단원의 무기(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 약수의 개수를 세는 로직이 가장 중요하다. number가 10만이기 때문에 O(N) 시간으로 약수를 찾으면 타임 오바가 난다. 여기서는 루트까지만 약수의 개수를 셌다. 약수를 세려고 전체를 세지 않아도 되기 때문이다. 예를 들어보자면, 16의 경우 1, 2, 4, 8, 16 이렇게 약수가 존재하는데, 16을 1, 2, .. 2023. 2. 15.
728x90