일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 프론트엔드
- JS
- Sort
- npm
- 최단거리
- 자바스크립트
- OpenCV
- 파이썬
- BFS
- 고득점kit
- 문자열
- JavaScript
- 프로그래머스
- 백준
- 우테코
- 웹개발
- 그래프
- dfs
- 함수
- 우아한테크코스
- 프리코스
- Linux
- node.js
- express
- 코딩테스트
- Python
- 코테
- JetsonNano
- 그리디
- 알고리즘
- Today
- Total
목록파이썬 (7)
공대생

문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return..

문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 이 문제의 key포인트 -> numbers..

문제설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁..

문제설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 입출력 예 설명 예제 #1"leo"는 참여자 명단에는 있지만, 완주자 명단에는..
문제 접근 순서 1. 문자열 받기 2. 다이얼 한수 만들기 3. 초 세기 알게 된 점 (1) 파이썬에서 '또는' 연산자는 'or'이다. 다른 언어에서 쓰던 것처럼 자꾸 '||'를 써서 문법오류남 (2) 파이썬에서 else if는 elif다. 최종제출답안 s = input() def dial(N): if(N == 'A' or N == 'B' or N == 'C'): return 3 elif(N == 'D' or N == 'E' or N == 'F'): return 4 elif(N == 'G' or N == 'H' or N == 'I'): return 5 elif(N == 'J' or N == 'K' or N == 'L'): return 6 elif(N == 'M' or N == 'N' or N == 'O'..
내 접근법은 다음과 같았다. 1. 세 자리 수 두 개 입력받기 2. 각 수의 순서 바꾸기 3. 수 비교 알게 된 것 (1) split()..... num = input().split result = list() for i in range(2): temp = list() for a in range(2, -1, -1): temp.append(num[i][a]) result.append("".join(temp)) if(int(result[0]) > int(result[1])): print(result[0]) else: print(result[1]) 처음엔 위와 같이 num으로 수 배열 하나로 입력을 받고 이를 2차원배열 방식을 이용해서 입력받은 숫자의 순서를 거꾸로 바꾸려고 했다. 하지만 'builtin_fu..

실버 5 난이도의 문제. 처음 접근은 리스트로 시작했다. 리스트에 1~10000까지의 숫자를 넣고 셀프넘버가 아닌 수들의 리스트를 만들어 두 리스트의 차집합(?)을 구하려고 하였다. 또한 d(n) 함수도 n이 100보다 작을 땐 d(n) = n + n/10 + n%10 100보다 크고 1000보다 작을 땐 d(n) = n + n/100 + (n-100)/10 + (n-100)%10 이런식으로 조건문을 이용해 구할 생각이었다. 하지만 이렇게 코드를 짜면 n이 10000 이상이 될 때는 코드를 다시짜야하는 비효율적인 코드라고 생각하고 다시 찾아보니 n을 str로 변환하면 해당 문자열을 for문을 이용해 한글자씩 떼어낼 수 있다는 것을 알아냈다. 예를 들어 a = str(408) for i in a: prin..