본문 바로가기

알고리즘5

[Python][CodingTest] 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 뭐야 생각보다 쉬운데 ? 하고 1차 시간 초과 def solution(players, callings): for call_player in callings: # ex) kai 일때, kai 의 idx를 뽑고, 앞의 idx 선수와 리스트 교환 call_index = players.index(call_player) players[call_index], players[call_index -1] = p.. 2023. 12. 20.
[Python] 수열과 구간 쿼리 2, 3 https://school.programmers.co.kr/learn/courses/30/lessons/181924 def solution(arr, queries): # arr = [0, 1, 2, 3, 4] 이고 query 에 있는 i, j에 따라 숫자를 바꿔준다. for query in queries: i, j = query arr[i], arr[j] = arr[j], arr[i] return arr 수열과 구간 쿼리3은 [[0, 3],[1, 2],[1, 4]] 리스트 안에 리스트 값이 있는 경우 for 문을 이용해서 i, j = query 로 원소를 받아올 수 있는 언패킹 문법을 새로 알게 되어서 좋았고 이것 이외에는 신기한게 없었습니다! 수열과 구간 쿼리 2는, 쿼리 3문제를 반대로 하는 느낌이 .. 2023. 12. 15.
[코딩테스트] 알파벳 찾기(아스키코드) https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 .. 2023. 7. 31.
[Coding Test04] n 이하의 소수 찾기. 소수 개수 찾기 목차 1. 문제 소개 2. 사전지식 01 제곱근함수 math.sqrt 3. 사전지식 02 소수판별 알고리즘 4. 사전지식 03 count함수 5. 내풀이, 다른풀이 1. 문제 소개 문제 사이트 : https://school.programmers.co.kr/learn/courses/30/lessons/12921 2. 사전지식01 sqrt 함수 math.sqrt(x) 함수는 x의 제곱근을 반환합니다. (x에 루트를 씌운 값을 반환) 추가 정보 1. 이 함수의 결과는 float 타입입니다. 2.math.sqrt(음수)가 들어오게 된다면 ERROR 가 발생합니다 int(math.sqrt(n)) # 제 코드에서 sqrt를 사용한 것입니다. # math.sqrt(n)는 floating 이고 # math.sqrt(n.. 2023. 4. 22.
[Coding Test02] 최빈값 문제 풀이 문제 코드 def solution(array): answer = 0 check = {} for ar in array: if ar not in check: check[ar] = 1 else: check[ar] += 1 sorted_check = sorted(check.items(), reverse=True, key=lambda item: item[1]) if len(sorted_check) > 1: if sorted_check[0][1] != sorted_check[1][1]: answer = sorted_check[0][0] # 최빈값이 1개일때, 최빈값을 출력하는 법 else: answer = -1 # 최빈값이 2개이상일때, 최빈값을 출력하는 법 else: answer = sorted_check[0][.. 2023. 4. 9.