본문 바로가기
728x90
반응형

알고리즘45

혼자 놀기의 달인 파이썬 풀이 https://school.programmers.co.kr/learn/courses/6/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(cards): Mval=0 #값을 갱신해가며 for i in range(len(cards)): # 8,6,3,7...카드의 값으로 나오게된다. box=[0 for i in range (len(cards))] #카드순서대로 cnt1=0 cnt2=0 k=i while(box[k]==0): #박스가 열리지 않았을 때, cnt1+=1#상자1카운트+1 box[k]=1#상자를 열어준다.. 2023. 6. 21.
[Mysql] 평균 일일 대여 요금 구하기 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/151136 SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE='SUV' 2023. 6. 20.
[Mysql] 프로그래머스 조건에 부합하는 중고거래 댓글 조회하기 DATE_FORMAT은 날짜 형식으로 하겠다. AS란 별칭을 주는 것 FROM 은 출처를 찾을 때 LEFT JOIN~~~ ON 밴다이어그램에서 왼쪽부분에 해당하는 것들을 붙여버리는것 WHERE 조건절! ~~한것만 하고싶다 ORDER BY 란 , 오름차순하는 것 ','을 붙여 다중으로 가능 DESC을 붙이면 내림차순 SELECT b.TITLE, b.BOARD_ID, r.REPLY_ID, r.WRITER_ID, r.CONTENTS, DATE_FORMAT(r.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE FROM USED_GOODS_BOARD b, USED_GOODS_REPLY r where b.BOARD_ID = r.BOARD_ID and DATE_FORMAT(b.CREATED_.. 2023. 6. 19.
두 원 사이의 정수 쌍 파이썬 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(r1, r2): c=0 p1=r1**2 p2=r2**2 y_min=r1 y_max=r2 for i in range(r2): while(y_max**2+i**2>p2): y_max=y_max-1 while(y_min>1 and (y_min-1)**2+i**2>=p1 ): y_min=y_min-1 c+=y_max-y_min+1 return c*4 y_min과 y_max의 갱신.. 2023. 6. 18.
프로그래머스1 구현 추억 점수 파이썬 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(name, yearning, photo): new_name={} for i in range(len(name)): new_name[name[i]]=yearning[i] #이름: 그리움점수 딕셔너리 if "may"==name[0]: print(new_name["may"]) answer = [] for i in photo: sum=0 for k in i: if k in new_.. 2023. 6. 5.
프로그래머스 1단계 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(players, callings): answer = {} #딕셔너리 선언 idx={} for i in range(len(players)): answer[players[i]]=i #플레이어: 순위 idx[i]=players[i] #순위:플레이어 for i in callings: j=answer[i] #순위출력 answer[i]=j-1 temp=idx[j-1] #앞순번 사람 .. 2023. 6. 3.
백준 1965번 상자넣기 파이썬 최장 증가 부분 수열 문제 상자넣기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 18867 9178 7570 49.371% 문제 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 있다. 예를 들어 앞에서부터 순서대로 크기가 (1, 5, 2, 3, 7)인 5개의 상자가 있다면, 크기 1인 상자를 크기 5인 상자에 넣고, 다시 이 상자를 크기 7인 상자 안에 넣을 수 있다. 하지만 이렇게 상자를 넣을 수 있는 방법은 여러 가지가 있을 수 있다. 앞의 예에서 차례대로 크기가 1, 2, 3, 7인 상자를 선택하면 총 4개의 상자가 한 개의 상자에 들어가게 된다. 상자의 크기가.. 2023. 5. 21.
백준 2565번 전깃줄 파이썬 LIS 최장 증가 부분 수열 알고리즘 전깃줄 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 31671 14949 12003 46.801% 문제 두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는 전깃줄을 없애면 남아있는 모든 전깃줄이 서로 교차하지 않게 된다. 전깃줄이 전봇대에 연결되는 위치는 전봇대 위에서부터 차례대로 번호가 매겨진다. 전깃줄의 개수와 전.. 2023. 5. 20.
백준 11724 연결 요소의 개수 BFS 파이썬 풀이 연결 요소의 개수 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 3 초 512 MB 91149 41381 27304 42.369% 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다. 출력 첫째 줄에 연결 요소의 개수를 출력한다. 예제 입력 1 복사 6 5 1 2 2 5 5 1 3 4 4 6 예제 출력 1 복사 2 예제 입력 2 복사 6 8 1 2 2 5 5 1 3 4 .. 2023. 3. 1.
728x90
반응형