본문 바로가기

전체 글

(2344)
(Python) - 프로그래머스(Programmers) : K번째 수 답 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr sort함수 또는 sorted함수를 사용해보는 기본 문제였습니다. Code : 1 2 3 4 5 6 7 8 def solution(array, commands): answer = [] arr2 = [] for one_com in commands: arr2 = sorted(array[one_com[0]-1:one_com[1]]) answer.append(arr2[one_com[2]-1]) return answer print(sol..
(Python) - 프로그래머스(Programmers) : 전화번호 목록 답 https://programmers.co.kr/learn/courses/30/lessons/42577?language=python3 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 간단한 hash를 이용한 구현 문제였습니다. 풀이방법 : 사전순으로 phone_book을 정렬하게 되면 인접한 두 phone_book의 문자열에 접두어만 비교하면 됩니다. Code : 1 2 3 4 5 def solution(phone_book): phone_book.sort() #사전순 정렬 for i in range(le..
(C++) - 프로그래머스(Programmers) : 완주하지 못한 선수 답 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 간단하게 hash 자료구조를 사용하는 문제였습니다. 풀이방법 : 1. 동명이인이 있을 수 있으므로 동명이인에 대해 count++를 진행합니다. 2. 완주자명단을 읽으며 count-- 3. 참여자 명단들 중 완주자명담을 제한 count가 0보다 큰 인원은 완주를 못한 것이 됩니다. Code : 1 2 3 4 5 6 7 8 9 10 11 12..
(C++) - 프로그래머스(Programmers) : 징검다리 답 https://programmers.co.kr/learn/courses/30/lessons/43236?language=cpp 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 이분탐색 문제였습니다. 풀이방법 바위 사이의 거리를 mid로 생각해 해당 조건을 찾았을 때의 거리들의 max값을 찾는 이분탐색을 시행하였습니다. 1. mid보다 바위 사이의 거리가 작다면 제거해준다. removeCount값을 증가시킵니다. 2. 모든 바위를 제거했을때의 removeCount값이 n보다 크면 너무 많이 지웠으므로..
(VS code window) - 기본 설정 : 사용자 설정 열기 Visual Code에서 테마, 저장시 할 코드 정리 등 여러 기능이 담겨있는 기본설정을 여는 방법 1. 파일 -> 기본설정 -> 설정을 누릅니다. 2. ctrl + shift + p를 click하면 상단에 >표시로 나타나는데 기본 설정 : 사용자 설정 열기를 클릭하면 나옵니다.
(Github) - 꾸미기(어떤 시간대에 주로 commit을 하는지 볼 수 있는 ui) 제 프로필에 다음 사진과 같은 ui를 추가하는 방법을 포스팅하겠습니다. 1. Project fork하기 원작자의 project에서 시간대를 한국/서울시 기준으로 맞추기 위해 약간 수정되었다고 합니다. 아래 repository를 fork하도록 합니다. https://github.com/techinpark/productive-box 위 link로 들어가면 다음과 같은 화면이 나옵니다. 사진상 빨간 테두리로 표시되어 있는 fork버튼을 클릭하시고 나오는 창에 제 github id를 클릭하면 해당 project를 통째로 내 repository로 가져오게 됩니다. fork가 완료되었으면 내 git으로 들어가 repository가 잘 fork되었는지 확인합니다. 상기와 같이 productive-box라는 repos..
(C++) - 백준(BOJ) 11866번 : 다리만들기 https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 풀이방법 : 섬마다 땅에 번호를 매긴 후 BFS를 이용해 원래섬에서 다른 섬까지의 거리의 최솟값을 구하면 답이됩니다. Code : 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ..
(C++) - 백준(BOJ) 6603번 : 로또 (DFS) 답 https://www.acmicpc.net/problem/6603 [ 6603번: 로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 www.acmicpc.net ](https://www.acmicpc.net/problem/6603) 간단한 Back tracking 문제였습니다. 풀이방법 : 정적 배열이용 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 32 33 34 35 36 37 //DFS 문제입니다. 거꾸로 노드를 거슬러 올라가..