목록 code review/implementation (20)
KEEP GOING
https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 코드 구현 def solution(n): answer = 0 num = '' while n > 0: num = str(n % 3) + num n //= 3 num = num.strip('0') i = 0 while i < len(num): answer += int(num[i])*(3**i) i += 1 return ..
https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 구현 from collections import defaultdict def solution(id_list, report, k): # 중복 제거 report = list(set(report)) result = [0 for _ in range(len(id_list))] # 고소 당한 사람의 고소 당한 횟수 카운트 accused = defaultdict(in..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr [구현] 문자열.replace('a', 'b') : sorted() 처럼 return 값이 존재하므로 반드시 변수에 저장 문자열 = 문자열.replace('..', '.') # 3단계 while '..' in new_id: new_id.replace('..', '.')=> 문자열에 '..'가 존재하는 경우, 무한루프 발생... [코드 구현] def sol..
https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr [코드 구현] def position(Num): global keypad for i in range(4): for j in range(3): if keypad[i][j] == Num: return [i, j] def distance(s_x, s_y, t..
https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 1. combination 사용 from itertools import combinations while True: s = list(map(int, input().split())) if len(s) == 1 and s == [0]: break k = s.pop(0) for data in list(combinations(s, 6)): print(*data) print() 2. 백트래킹 구..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 코드 구현 # 동 남 서 북 dx = [0,1,0,-1] dy = [1,0,-1,0] def turn(position): if position =..
https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 1. 코드 구현 students = {} d = [(-1,0),(0,1),(0,-1),(1,0)] n = int(input()) maze = [[0]*(n+1) for _ in range(n+1)] for _ in range(n**2): a = list(map(int, input().split())) students[a[0]] = a[1:] tmp = ..
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1. 성공한 코드 from itertools import combinations import sys n, m = map(int, input().split()) board = [[] for _ in range(n)] chickenStore = [] house = [] for i in range(n): board[i] = list(map(int, input().split())) ..