본문 바로가기

알고리즘 문제풀이246

[프로그래머스] 괄호 변환 (Swift) https://programmers.co.kr/learn/courses/30/lessons/60058?language=swift 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제대로 착실히 재귀함수를 구현해도 잘 풀리는 문제.. 그래서 2번인듯 접근방법 이 문제는 정말 접근방법을 문제에서 다 준 경우.. 문제는 문자열 u가 올바른 괄호문자열인지 판단하는 함수를 만들었었는데 다른분 풀이보고 그냥 첫번째 문자만 열린괄호인지 확인하면 된다는 것을 깨닫고.. 차마 이전 코드를 지우지 못해 주석 처리해둔..(이런거 .. 2022. 3. 24.
[프로그래머스] 문자열 압축 (Swift) https://programmers.co.kr/learn/courses/30/lessons/60057?language=swift 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 2020 카카오 블라인드 코딩테스트 알파벳소문자로 이루어진 문자열(1~1000자)이 주어지고 이를 맨앞에서부터 일정 단위만큼 잘라서 연속되며 + 중복되는 글자를 -> 연속적으로 중복되는 횟수 + 반복되는 문자열 로 압축할 수 있다고 할 때 가장 짧게 문자열을 압축할 수 있는 길이를 구하는 문제 설명이 좀 부족해서 예를 들어보면 .. 2022. 3. 23.
[프로그래머스] 카드 짝 맞추기 (Swift) https://programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 카카오 2021 블라인드 채용 4*4인 판에 최대 6종류의 카드쌍(1종류당 2장)이 뒤집혀있다 한번에 두장의 카드를 뒤집어서 같은 종류의 카드면 카드를 지울 수 있고 다른 종류의 카드면 카드를 다시 뒤집어야한다. 이때 모든 이동 횟수와 카드를 뒤집는 횟수는 누적되며 이를 조작횟수라고 하면, 최소 조작 횟수를 반환하는 문제이다. 이 게임에서의 이동은 방향키로 상하좌우.. 2022. 3. 23.
[프로그래머스] 순위 검색 (C++, Swift) https://programmers.co.kr/learn/courses/30/lessons/72412?language=swift [Int] { makeInfoDic(info) sortInfoDicValues() let result:[Int] = makeResult(query) return result } func makeInfoDic(_ infos:[String]) { for info in infos { var infoToArray:[String] = info.components(separatedBy:" ") let applicantScore:Int = Int(infoToArray.last ?? "0") ?? 0 infoToArray.removeLast() addApplicantInfoToInfoDic(.. 2022. 3. 16.
[프로그래머스] 양궁대회 (Swift) (스터디) https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 1. 적용 알고리즘과 문제 설명 적용 알고리즘 : dfs 깊이 우선 탐색 문제 설명 어피치와 라이언이 양궁 시합을 한다. 점수는 과녁의 점수 영역에 누구의 화살이 더 많이 있는지에 따라 더 많이 맞힌 사람이 그 점수를 얻는다. 만약에 동일한 개수로 맞혔다면 어피치가 점수를 얻는다. 어피치의 결과판이 주어진다. 이때 라이언이 어떻게 경기를 해야 (각 점수영역에 화살을 .. 2022. 3. 11.
[프로그래머스] 주차 요금 계산 (Swift) https://programmers.co.kr/learn/courses/30/lessons/92341?language=swift 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr kakao 2022 blind recruitment 기본 시간, 기본 요금, 단위 시간, 단위 요금이 주어지고 차량의 입차, 출차 시간이 시간의 순서대로 담긴.. 2022. 3. 10.
[프로그래머스] k진수에서 소수 개수 구하기 (Swift) https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr kakao 2022 블라인드 코딩테스트 십진수 n을 k진수로 변환한 숫자 j가 있다고 하자. j를 이루는 각 자리수를 0으로 구분지어 얻을 수 있는 수 중 소수인 수의 개수를 구하는 문제 접근방법 우선 n을 k진수로 변환한다. 그런데 Int가 아니라 자리수를 순서대로 담은 String으로 변환한다. getBas.. 2022. 3. 8.
[프로그래머스] 신고 결과 받기 (Swift) https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 카카오 2022 블라인드 코딩테스트 딕셔너리와 배열을 적절히 잘 활용해서 푸는 구현 문제 이름이 담긴 배열, "신고자 피신고자"가 담긴 배열, 자연수 K가 주어진다. K번 이상 신고 당한 이용자는 이용이 정지되며, 이용자를 신고한 이용자에게 모두 메일이 1회 발송된다. 이용자는 무제한으로 신고할 수 있지만, 같은 이용자에 대한 신고는 중복되어도 1회로 취.. 2022. 3. 8.
[프로그래머스] 큰 수 만들기 (Swift) (스터디) 1. 적용 알고리즘과 문제 설명 그리디 문제 정수로 된 문자열이 주어지고, 자연수 k가 주어지면 정수 문자열에서 k개의 문자를 제거하여 얻을 수 있는 수 중 가장 큰 수를 구하는 문제 문자열에서 문자를 제거하는 것이기 때문에 문자열의 순서는 보존되어야 한다. 접근방법 큰 수를 얻는게 목적인 만큼, 앞자리 수가 커야한다. 스택 하나를 두고, k개의 카드(앞으로 문자를 제거하는 걸 카드라고 표현한다)가 남아있는 한 새로 들어갈 수가 현재 스택의 맨 위의 수보다 커야한다.는 로직이면 가장 큰 수를 얻을 수 있다. 2. 코드에 대한 설명 이걸 코드로 설명하면 k가 0보다 클 때까지는, 스택의 맨 위의 수 >= 새로 들어갈 수 를 만족할 때 까지 스택에서 원소를 뺀다. 그리고 뺄 때마다 k를 1감소 시킨다. im.. 2022. 3. 6.
728x90