Coding Test

Coding Test/정리

[Swift] Swift를 이용한 문제 풀이

프로그래머스 Lv1 남은 문제들을 Swift로 풀어보면서 얻었던 IDEA들을 정리했다. map, filter, reduce func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let array = arr.sorted().filter{ $0 % divisor == 0 } return array == [] ? [-1] : array } map: 클로저로 각 항목들을 반영한 결과물을 가진 새로운 배열을 반환합니다. filter: 클로저로 각 항목들을 비교하여 일치하는 결과물을 가진 새로운 배열을 반환합니다. reduce: 배열의 각 항목들을 재귀적으로 클로저를 적용시켜 하나의 값을 만듭니다. array.map { $0 * 2 } array.filter { $0 % 2..

Coding Test/문제 풀이

[문제 풀이] 행렬 테두리 회전하기

코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 해결 과정 행렬 테두리 회전 > 순차대로 규칙을 찾아서 그대로 코드로 구현했다. 다른 풀이들도 비슷한 듯. 나의 풀이 def solution(rows, columns, queries): answer = [] # 행렬 만들기 matrix = [[0] * (columns + 1)] for i in range(rows): matrix.append([x + (columns * i) for x in range(columns+1)]) # Query 돌면서..

Coding Test/문제 풀이

[문제 풀이] 짝지어 제거하기

코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 나의 풀이 def solution(s): stack = [] for c in s: if stack and stack[-1] == c: stack.pop() else: stack.append(c) if stack: return 0 else: return 1 IDEA Stack 아이디어. 효율성 문제 이걸로 해결 가능.

Coding Test/문제 풀이

[문제 풀이] 방금그곡

코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 해결 과정 첫 날 문제를 풀었을 때는 C#과 같은 문자열을 그대로 사용하느라 코드도 길어지고, 테스트케이스 몇 개에서 틀리는데 어디서 틀리는지 몰라서 놔뒀다. IDEA를 살펴보니, 이런 방법 말고도 문자열을 치환해서 사용할 수 있다고. 오늘 다시 이 방법으로 풀어보니 바로 풀렸다. 이 문제는 이런 IDEA를 생각하고 해결에 녹아내는 것이 Point였다. 나의 풀이 from datetime import datetime import re def solu..

Coding Test/문제 풀이

[문제 풀이] 백준 18870

해결 과정 단순한 문제인데 시간초과를 고려해야겠구나 싶어서 이진탐색으로 풀었다. 다른 풀이들을 보니 이보다 더 빠르게 푸는 방법이 있어서 이 아이디어를 얻어갈 수 있는 문제. 나의 풀이 이진 탐색을 이용한 풀이 이진 탐색은 라이브러리가 있지만 다시 구현해볼 겸 직접 구현했다. N = int(input()) arr = list(map(int, input().split())) sortedArr = sorted(list(set(arr))) def binarySearch(arr, num): answer = -1 start, end = 0, len(arr)-1 while start num: end = mid - 1 return answer answer = [] for num in arr: answer.append..

EUNJI HA
'Coding Test' 카테고리의 글 목록