목록Computer Science (228)
DHistory
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(cards1, cards2, goal): # 초기화 i = 0 j = 0 k = 0 # 문제 풀이 while True: # 종료 조건 1: Goal 완성 시 종료 if k >= len(goal): return "Yes" current = goal[k] # 종료 조건 2: goal에 해당하는 card가 없는 경우 종료 if cards1[i] != current and cards2[j] != current: return "No" if i < len(cards1) - 1 and c..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(keymap, targets): # 초기화 answer = [] letters = [0] * 26 # 문제 풀이 # 각 문자별 최소 자판 횟수 for key in keymap: for i in range(len(key)): index = ord(key[i]) - ord('A') if letters[index] == 0 or letters[index] > i + 1: letters[index] = i + 1 # target을 완성하기 위한 최소 자판 횟수 for target i..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(n, m, section): # 초기화 result = 0 array = [False] * (n) for i in section: array[i - 1] = True # 문제 풀이 index = 0 while index < n: if array[index]: result += 1 index += m else: index += 1 return result 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(wallpaper): # 초기화 n, m = len(wallpaper), len(wallpaper[0]) map = [list(row) for row in wallpaper] x = [] y = [] # 문제풀이 for i in range(n): for j in range(m): if map[i][j] == '#': x.append(i) y.append(j) return [min(x), min(y), max(x) + 1, max(y) + 1] 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 directions = { 'N': (-1, 0), 'W': (0, -1), 'S': (1, 0), 'E': (0, 1) } def solution(park, routes): # 초기화 n, m = len(park), len(park[0]) x, y = 0, 0 maps = [] for i in range(n): temp = [] for j in range(m): if park[i][j] == 'S': x, y = (i, j) temp.append(park[i][j]) maps.append(temp..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(name, yearning, photo): answer = [] # 점수 초기화 score_board = {} for i in range(len(name)): score_board.update({name[i]: yearning[i]}) # 문제풀이 for data in photo: sum = 0 for name in data: score = score_board.get(name) if score != None: sum += score answer.append(sum) # 정답..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(players, callings): # 초기화 players_map = {} for (index, value) in enumerate(players): players_map.update({value: index}) # 문제풀이 for calling in callings: # 현재 순위 가져오기 index = players_map[calling] front_name = players[index - 1] # 랭크(이름) 변경 players[index], players[index ..
풀이과정 1. 배열을 새로 생성하지 않고 기존 배열을 수정하여 중복된 숫자를 제거합니다. 2. 중복이 제거된 배열의 길이를 반환합니다. Java class Solution { public int removeDuplicates(int[] nums) { // 길이가 1인 배열은 중복을 제거할 필요가 없으므로 1을 반환합니다. if (nums.length == 1) { return 1; } // 첫 수는 반복되어도 제거대상이 아니기 때문에 index를 1로 설정합니다. int index = 1; // 중복되지 않은 수를 찾아 기존 배열을 수정합니다. for (int i = 0; i < nums.length - 1; i++) { if (nums[i] != nums[i + 1]) { nums[index] = nu..