본문 바로가기

iOS 앱 개발자 프로젝트/알고리즘 코드카타

[Algorithm] 가장 많이 받은 선물 (w/ Swift) 오늘은 가장 최신 문제(2024 KAKAO WINTER INTERNSHIP )를 풀어보자! ᵔᴗᵔ 가장 많이 받은 선물 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr "누가 선물을 많이 받았나?"각 친구가 주고받은 선물에 대한 기록을 바탕으로 누가 가장 많이 선물을 받았는지 찾는 문제야.선물을 주고받은 기록이 주어지고, 그 기록을 보고 가장 많은 선물을 받은 친구가 몇 명인지 구해야 해. 나의 코드func solution(_ friends: [String], _ gifts: [String]) -> Int { var answer = 0 let dic = friends.enumerated().r.. 더보기
[Algorithm] 배열 조각하기 (w/ Swift & Python) 배열 조각하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  정수 배열 arr와 정수 배열 query가 주어졌고, query 배열을 순회하면서 다음과 같은 작업을 반복하는거야.  𓃟𓃟𓃟query의 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 포함한 뒷부분을 자르고 남기기.query의 홀수 인덱스에서는 arr에서 query[i]번 인덱스를 제외한 앞부분을 자르고 남기기.즉, query 배열의 각 인덱스에서 짝수일 때는 배열의 앞부분을 남기고, 홀수일 때는 배열의 뒷부분을 남긴다고 생각하면 돼.그럼 이제 Swift와 Python으로 각각 어떻게.. 더보기
[Algorithm] 마지막 두 원소 (w/ Swift) 마지막 두 원소 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이번 문제는 리스트의 마지막 두 원소를 비교해서 조건에 따라 새로운 값을 추가하는 문제야.리스트에서 마지막 두 개의 원소를 확인하는 거야. 예를 들어, 리스트가 [1, 2, 3, 4]라고 하면, 3과 4를 비교하는 거지.마지막 원소가 그 전 원소보다 크면, 두 값의 차이를 리스트에 추가하는 거야. 예를 들어, 마지막 원소 4가 그 전 원소 3보다 크니까 4 - 3 = 1을 추가해.만약 마지막 원소가 그 전 원소보다 크지 않으면, 마지막 원소를 두 배로 해서 리스트에 추가해. 예를 들어, 마지막 원.. 더보기
[Algorithm] 문자열 다루기 (w/ Swift) 문자열 다루기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이번 문제는 문자열 s가 길이가 4 또는 6이고, 숫자로만 구성되어 있는지 확인하는 거야.간단하게 생각하면, 두 가지 조건을 체크하면 돼 ! s의 길이가 4 또는 6인지.모든 문자가 숫자인지.  func solution(_ s: String) -> Bool { // 첫 번째 조건: s의 길이가 4 혹은 6인지 확인 if s.count == 4 || s.count == 6 { // 두 번째 조건: s가 모두 숫자로만 이루어져 있는지 확인 // 모든 문자가 숫자인지 .. 더보기
[Algorithm] 길이에 따른 연산 (w/ Swift) 길이에 따른 연산 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 리스트의 길이에 따라 계산 방식이 달라지는 상황이야. 리스트에 있는 숫자들을 적절하게 처리해서 조건에 맞는 값을 반환하는 것이 목표지! 𓅰𓅭𓅰𓅯   1. 리스트 길이 확인하기먼저 리스트의 길이에 따라 두 가지 조건을 처리해야 해.리스트의 길이가 11 이상이면 모든 원소의 합을 구해야 하고,리스트의 길이가 10 이하이면 모든 원소의 곱을 구해야 해.! 여기서 조건에 따라 다른 계산 방식을 적용해야 하니까, 먼저 리스트의 길이를 체크하는 게 중요하다구. if num_list.cou.. 더보기
[Algorithm] 영어가 싫어요 (w/ Swift) 영어가 싫어요 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  이 문제는 문자열로 주어진 영어 숫자들을 실제 숫자로 바꿔서 하나의 정수로 만드는 거야.예를 들어 "onetwothree"가 들어오면 이걸 123으로 바꿔주는 거지. (ˇ⊖ˇ)  1. 숫자 단어와 실제 숫자 연결하기 먼저, 영어 숫자 단어들(예: "one", "two", "three")을 실제 숫자(예: 1, 2, 3)로 바꿀 수 있어야 해. 그래서 나는 이 단어들을 숫자와 연결해주는 딕셔너리를 만들었어. let numberMap: [String: String] = [ "zero": "0",.. 더보기
[Algorithm] 배열 회전시키기(w/ Swift) 배열 회전시키기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 아주 간단한 코드지만 그래도 하나씩 정리해 볼게.  1. 함수 선언     numbers: 정수 배열(숫자들이 쭉- 나열된 배열)     direction: 문자열로 방향을 나타내기 ( "left" 또는 "right" 중 하나를 받도록!)func solution(_ numbers:[Int], _ direction:String) -> [Int]  2. 결과를 담을 빈 배열 선언 (그릇으로 이해하면 쉽다!)     result라는 빈 배열을 선언 (이 배열은 회전시킨 후의 결과를 담는 곳)var re.. 더보기
[Algorithm] 옷가게 할인 받기 |  옷가게 할인 받기  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 코드를 하나씩 설명하자면, 1. 초기 변수 설정     함수가 호출될 때, 먼저 yeon이라는 변수를 price와 같은 값으로 초기화 → 최종 할인된 가격 저장func solution(_ price:Int) -> Int { var yeon = price 2. 할인 조건문     함수는 조건문(if, else if)을 사용하여 가격에 따라 할인율을 적용 if price >= 500000 {yeon = Int(Double(price)*0.8)} else if price .. 더보기