목록ALGORITHM/SOLVE (67)
정구리의 우주정복
문제 : https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이�� programmers.co.kr 풀이과정 : if 길이가 4 거나 6일때 try,except 에 넣어서 문자열이 int 로 했을때 오류가 나면 return False 아니라면 return True 를 해주는 식으로 만들었따 def solution(s): if len(s) == 4 or len(s) == 6: try: a =int(..
문제 : https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 풀이 : 처음엔 기존의 arr 에서 제거할 생각을 하다가 그냥 다른 배열 answer 이랑 비교를 하면 아주 간단하게 해결되는걸 깨달았다 arr(i) 번째랑 answer(-1) 이 같지 않다면 연속되지 않는다고 생각을 하고 answer 에 i arr(i) 를 append 해줬다 코드 : def solution(arr): ans..
문제 : 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 소스코드: def solution(array, commands): answer = [] for i in range(len(commands)): sort_arr = sorted(array[commands[i][0]-1:commands[i][1]]) answer.append(sort_arr[commands[i][2]-1]) return answer list 를 조금 다룰줄 안다면 쉬운 문제였다
문제 : https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 풀이과정 : (탐욕법 문제라는데 잘 모르겠다) 1. n 만큼 list 로 만들어주기 (1을 가짐) 2. lost 는 -1 을 해주고 reserve 는 +1 을 해주기 3. for 문으로 0인애 앞뒤로 확인해서 2가 있는지 체크하기 ㄴ 2가 있으면 +1 해주고 -1 해주기 4. list 에 1 이상인 애들은 answer 에 +1 해주기 def soluti..
문제 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 풀이 : 반복되는 규칙을 list 에 넣어주고 i 로 나눠준걸 이용해서 정답인지 아닌지를 다룬다 그리고 최고로 많이 맞은 사람이 누군지 확인해준다 코드 : def solution(answers): answer = [] #각 수포자들이 찍는 법 su1=[1,2,3,4,5] su2=[2,1,2,3,2,4,2,5] su3=[3,3,1,1,2,2,4,4,..
문제 : https://programmers.co.kr/learn/courses/30/lessons/42576#qna 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 풀이과정 : 해쉬 문제라는데 내가 해쉬가 뭔지 잘 모른다 . . . 처음에는 list 로 만들어서 list 안에 같은 값이 있으면 remove 시켜주는걸 생각해서 만들었다 def solution(participant, completion): for i in completion: participant.remove(i) ans..
문제 : https://programmers.co.kr/learn/courses/30/lessons/64061?language=python3 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 입출력: 입출력 예 boardmovesresult [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 생각해보기 : 0인지 아닌지 체크해주고 0이면 스택에 넣어주고 값이 있던 곳을 0으로 바꿔줌 ! 그 다음에 스택을 확인해서 같으면 pop 을 해준다 !!여..
문제 : 화이트씨는 다재다능한 사람입니다 . 그래서 그에겐 친구가 많습니다 . 하지만 불행하게도 그의 친구들은 다재다능하지 않습니다 . 각각의 친구는 2가지 주제에만 관심이 있고 다른 주제로 이야기하는 것을 싫어합니다 . 그래서 파티를 개최할 때마다 모두가 즐겁게 파티를 보내려면 어떤 친구들을 초대해야할지가 큰 문제입니다 . 화이트씨는 그 동안의 경험으로 초대된 친구 모두가 공통의 흥미있는 화제가 있을때 파티를 즐긴다는 것을 알았습니다 . 문자열 배열 first 와 second 가 주어집니다 . 화이트씨의 i번째 친구가 흥미있는 화제는 first[i] 와 second[i] 입니다. 즐거운 파티가 되려면 화이트씨가 초대할 수 있는 친구는 최대 몇명인지 리턴하세요. 입출력 값 예 : first = {fish..