목록문제 (388)
sm 기술 블로그
phone = [[1,2,3], [4,5,6], [7,8,9], ["*",0,"#"]] def findIndex(n): for i in range(len(phone)): for j in range(len(phone[i])): try: return [i, phone[i].index(n)] break except: continue def solution(numbers, hand): left = findIndex("*") right = findIndex("#") current = [] result = [] answer = '' for n in numbers: if n == 1 or n == 4 or n == 7: left = findIndex(n) result.append("L") elif n == 3 or ..
from collections import deque queue = deque() def solution(board, moves): answer = 0 for i in moves: for j in range(len(board[i-1])): if(board[j][i-1] != 0): tmp = board[j][i-1] board[j][i-1] = 0 try: if queue[-1] == tmp : queue.pop() answer+=2 else: queue.append(tmp) except: queue.append(tmp) break return answer 문제요약 인형을 집어 바구니에 쌓아서 넣는다. -> 바구니에 중복으로 인형이 2개 있으면 2개를 없애고 없앤 수를 answer로 한다. 설명 이 문제..
number = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] def solution(s): answer = 0 for i in range(0, len(number)) : s = s.replace(number[i], str(i)) answer = int(s) return answer 문제요약 one4seveneight이 들어온다면 1478로 바꿔라. 설명 간단하다. 문자열 replace를 안다면 쉽게 풀 수 있는 문제이다.
문제 : 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. SELECT * FROM (SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME) A WHERE A.COUNT > 1 ORDER BY NAME; 1. 서브쿼리에서 GROUP BY 를 통해 이름과 이름이 쓰인 횟수를 뽑는다. 2. COUNT가 1보다 큰 녀석만 뽑아서 이름 기준으로 정렬한다.