본문 바로가기

알고리즘85

[Swift] 프로그래머스 - 카카오 수식 최대화 문제: https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 1. +, -, *로 우선순위 순열을 만들어줍니다. 2. 사전작업으로 숫자들만 있는 배열과 연산자들만 있는 배열을 만들어줍니다. 3. 우선순위를 전부 다 돌며 값을 계산합니다. 4. 그렇게 해서 나온 값을 절댓값으로 만들고 result와 max연산을 해주면 됩니다. import Foundation func permute(_ nums: [String], .. 2022. 2. 11.
[Swift] 프로그래머스 - 카카오 거리두기 확인하기 문제: https://programmers.co.kr/learn/courses/30/lessons/81302#fn1 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 1. original(P가 있던 곳)과 현재 있는 지점을 비교합니다. 2. .. 2022. 2. 11.
[Swift] 프로그래머스 - 카카오 뉴스 클러스터링 문제: https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 1. 대소문자 똑같댔으니 소문자로 전부 바꿔주기 2. 특수기호 유무 판별 3. 교집합 합집합 계산 4. J(0, 0) 예외처리 import Foundation func solution(_ str1:String, _ str2:String) -> Int { let str1 = Array(str1.lowercased()) let str2 .. 2022. 2. 10.
[Swift] 프로그래머스 - 짝지어 제거하기 문제: https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 재귀로 하면 시간초과가 나기 때문에 스택을 사용하여 빠르게 했습니다. import Foundation func solution(_ s:String) -> Int{ var queue = [Character]() for str in s { if queue.last == str { queue.removeLast() } else { queue.app.. 2022. 2. 10.
[Swift] 프로그래머스 - 카카오 크레인 인형뽑기 게임 문제: https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 배열 좌표를 잘 생각해보면 쉽게 풀 수 있습니당 import Foundation func solution(_ board:[[Int]], _ moves:[Int]) -> Int { var board = board var queue = [Int]() var result = 0 func addDoll(doll: Int) { if queue.last == doll { result += 2.. 2022. 2. 10.
[Swift] 프로그래머스 - 카카오 오픈채팅방 문제: https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr [uid: 닉네임] 딕셔너리를 만들어서 들어오거나 이름을 바꾸었을 때 닉네임을 업데이트해주었습니다. import Foundation func solution(_ record:[String]) -> [String] { var result = [String]() var users = [String: String]() // [uid4567, Prodo] for.. 2022. 2. 10.