Coding Test/문제 풀이

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..

Coding Test/문제 풀이

[문제 풀이] 백준 1167

해결 과정 처음에는 모든 Edge를 다 돌며 탐색하도록 했더니 시간 초과가 났다. 연결되어 있는 Edge가 1개인 경우만 돌며 탐색해도 4%에서 시간초과가 났다. 다른 방법이 있겠구나 찾아보니 트리에서 지름을 구하는 방법이 있었다. 나의 풀이 from collections import deque V = int(input()) graph = [[] for _ in range(V+1)] for _ in range(V): infoList = list(map(int, input().split())) vertex = infoList[0] edges = infoList[1:-1] for a, b in zip(edges[0::2], edges[1::2]): graph[vertex].append((a, b)) def ..

EUNJI HA
'Coding Test/문제 풀이' 카테고리의 글 목록