목록오블완 (9)
개발일지

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/64061 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return한다.B. 답안def solution(board, moves): answer = 0 new_board = [] n = len(board) stack = [] for j in range(n): new_row = [] for i in range(n): if board[i][j] != 0: new_row.append(board[i][j]) new_board.append(new_row[::-1]) ..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/17679 B. 답안def solution(m, n, board): answer = 0 #1. 행,열 변환 new_board = [[0]*m for _ in range(n)] for i in range(m): for j in range(n): new_board[j][i] = board[i][j] board = new_board #2. 터뜨리기 while True: s = set() for i in range(n-1): for j in range(m-1): ..

김영한 강사님의 Spring 강의를 듣다가,@Overridepublic List findAll() { return new ArrayList(store.values());} ArrayList 생성자 파라미터에 HashMap 오브젝트의 values()가 있다. 예전부터 ArrayList 생성시 파라미터로 이것 저것 넣어줬을 때 안됐던 기억이 매우 많다.(파이썬을 쓰던 버릇 때문에 이것저것 넣어봤다...) 그런데 의외로 해쉬맵의 values()가 가능한 것을보고, 그게 어떻게 가능한건지 궁금해졌다. 그리고, ArrayList 생성자 파라미터로 가능한 것들도 정리해보고자 한다. A. 결론은?ArrayList는 생성 시 Collection을 매개변수로 받는다. ArrayList클래스의 생성자를 보면, 파라..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/150368 서비스 가입자 수를 최대한으로 늘리고, 이모티콘 판매액을 최대한으로 늘려야 한다. 목적을 달성했을 때의 서비스 가입자수와 이모티콘 매출액을 return하라.B. 답안def solution(users, emoticons): answer = [0, 0] def dfs(arr, depth): if depth == len(emoticons): amount = 0 member = 0 for user in users: adder = 0 for i..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/17677# 문자열 2개 사이에서 자카드 유사도를 구하라. 문자열을 2문자씩 나눠서 교집합과 합집합을 구하라.B. 답안from collections import Counterdef solution(str1, str2): answer = 0 str1_arr = [str1[i]+str1[i+1] for i in range(len(str1)-1)] str2_arr = [str2[i]+str2[i+1] for i in range(len(str2)-1)] arr1_eng = [] arr2_eng = [] for i, s in enumerate(str1..

알고리즘 문제를 java로 풀다가 오류가 났다.int[] arr = {1,2,3};Arrays.sort(arr, (a, b) -> b-a); 오류: no suitable method found for sort(int[],(a,b)->b - a) 지금까지 원시타입 배열로 Arrays의 sort()를 잘 사용했었는데, comparator를 사용하려하니 Arrays에 이런 메소드는 없다고 한다.Arrays클래스가 원래 참조타입 배열을 다루나? 뭐지? 하고 찾아봤다. A. 결론은? Arrays.sort()는 메소드 오버로딩으로 다 작동한다. Arrays.sort() 메소드를 보면, 원시타입(int[], long[] ...)별로 오버로딩이 되어있는 것을 확인할 수 있다.ex)- 원시타입 배열(int[])를 넣으면..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/178870 리스트가 주어질 때, 조건을 만족하는 부분 리스트를 찾아라.B. 답안def solution(sequence, k): answer = [0, 2000000000] start, end = 0,0 q_sum = sequence[0] sequence.append(0) l = len(sequence)-1 while start end-start: answer[0], answer[1] = start, end end += 1 q_sum += sequence[end..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/155651 호텔을 최소한의 객실만을 사용하여 예약 손님들을 받으려고 한다. 예약시간이 주어질 때, 최소 객실 수를 구하라.B. 답안def solution(book_time): booking = [] answer = 1 for start, end in book_time: start_as_minutes = int(start[:2])*60 + int(start[3:]) end_as_minutes = int(end[:2])*60 + int(end[3:]) + 10 booking.append([start_as_minutes..

A. 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/181188 미사일들을 요격해야한다. 미사일들의 비행 위치가 주어지고, 최소 횟수로 요격할 수 있는 방법을 찾아야 한다.B. 답안def solution(targets): answer = 0 targets.sort(key = lambda x : (x[1], x[0])) end_point=0 for s,e in targets: if s >= end_point: answer+=1 end_point = e return answer C. 회고풀이에 실패했다. 답을 찾아보고 풀었다. 결론적으로 중요한 것은..