프로그래머스 113

[프로그래머스] n^2 배열 자르기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 월간코드챌린지 때 효율성에서 막혀서 결국 못 풀었는데 풀이 보고 너무나도 간단해서 놀랐다. 1차원 배열을 n 으로 나눈 몫, 나머지에서 max 값만 구하면 되다니.. ** python def solution(n, left, right): answer = [] for i in range(left, right + 1): answer.append(max(divmod(i, n)) + 1) return answer 참고: https://sangsangss.tistory.com/197 [프로그래머스] n^2 배열 자르기 https://programmers.co.kr/learn/courses/30/le..

[프로그래머스] 방문 길이

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 코드 실행에서는 통과됐는데 채점에서 35퍼 나와서 뭐가 문제인가 했는데 질문하기에 방향성이 없어야 한다는 말에 깨달음 (1,1) -> (0,1) 이랑 (0,1) -> (1,1) 은 같은 길을 갔으므로 카운트 되면 안됨 def solution(dirs): answer = 0 loc = [0, 0] strd = {'U': (0, 1), 'D': (0, -1), 'R': (1, 0), 'L': (-1, 0)} visited = set() for d in dirs: old_x = loc[0] old_y = loc[1] new_x = loc[0] + strd[d][0] new_y ..

[프로그래머스] 방금그곡

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 1) 1차 시도 (실패 73.3/100) from datetime import timedelta def replace_melody(melody): return melody\ .replace('C#', 'Z')\ .replace('D#', 'Y')\ .replace('F#', 'X')\ .replace('G#', 'W')\ .replace('A#', 'V') def cal_time_diff(start, end): start_hour, start_min = map(int, start.split(":")) start_time = timedelta(hours=start_hour,..

[프로그래머스] 파일명 정렬

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges import re def solution(files): reg = [re.split(r'(\d+)', s) for s in files] reg.sort(key = lambda x: (x[0].lower(), int(x[1]))) return [''.join(s) for s in reg] 참고: https://velog.io/@sem/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-LEVEL2-%ED%8C%8C%EC%9D%BC%EB%AA%85-%EC%A0%95%EB%A0%AC-Python [프로그래머스] LEVEL2 파일명 정렬 (Python..

[프로그래머스] 가장 큰 정사각형 찾기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(board): for i in range(1, len(board)): for j in range(1, len(board[i])): if board[i][j] == 1: board[i][j] = min(board[i-1][j-1], board[i-1][j], board[i][j-1]) + 1 # print(board) answer = 0 for b in board: lmax = max(b) answer = max(answer, lmax) return answer**2 참고: https://velog.io/@ju_h2/Python-%ED%94%84%EB%A1%9C%EA%..

[프로그래머스] n 진수 게임

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def n_decimal(n, q): base = "0123456789ABCDEF" # 나올 수 있는 값 n, mod = divmod(n, q) if n == 0: return base[mod] return n_decimal(n, q) + base[mod] # 나머지 index를 이용하여 string 더하기 def solution(n, t, m, p): answer = '' temp = '' for i in range(m * t): # 나올 수 있는 모든 string 개수 = m 명 * t 개 temp += n_decimal(i, n) while len(answer) < ..

[프로그래머스] 다음 큰 숫자

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def solution(n): answer = n while(True): answer += 1 if str(bin(answer)).count("1") == str(bin(n)).count("1"): break return answer * bin은 2진수로 바꿔주는 함수다. ** Javascript function solution(n) { let answer = n while (true) { answer++ if ((answer.toString(2).match(/1/g) || []).length === (n.toString(2).match(/1/g) || []).length..

반응형