[프로그래머스] 완전탐색 4문제
·
✍️2023/Algorithm
💡 [완전탐색 공부] https://cloudclub.notion.site/Brute-Force-a6c165440513444095dd34fda7d2b211?pvs=4 완전탐색(≒Brute Force) 완전탐색은 컴퓨터의 빠른 계산 성능을 활용하여 가능한 모든 경우의 수를 탐색하는 방법 cloudclub.notion.site 1. 모의고사 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 완전탐색(?) 알고리즘은 아닌데 enum..
[프로그래머스] 해시 2문제
·
✍️2023/Algorithm
💡 여러분 저는 해시 너무 생소합니다 (흑흑) 개념 공부부터 하고 올게요… 해시 개념 해시 개념 F(key) → HashCode → Index → Value www.notion.so 1. 의상 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한..
[프로그래머스] BFS/DFS 2문제
·
✍️2023/Algorithm
단어 변환 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 bfs 코드 from collections import deque #deque import def solution(begin,target,words): queue = deque() length = len(words) def can_change(word,change): diff = 0 for i in range(len(word)): if word[i] != change..
[프로그래머스] BFS/DFS 3문제
·
✍️2023/Algorithm
1. 문제 설명 타겟넘버 Input n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. `1+1+1+1+1 = 3 1-1+1+1+1 = 3 1+1-1+1+1 = 3 1+1+1-1+1 = 3 1+1+1+1-1 = 3` Output 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. Constraints 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하..
[프로그래머스] 정렬 : 가장큰수 / H-index (부제 : 삽질일기)
·
✍️2023/Algorithm
가장 큰 수 https://school.programmers.co.kr/learn/courses/30/lessons/42746 [프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr](https://school.programmers.co.kr/learn/courses/30/lessons/42746) 문제 설명 - Input 0 또는 양의 정수가 담긴 배열 numbers - Output 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열 - Constraints numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000..
[프로그래머스] - 정렬 : K번째 수
·
✍️2023/Algorithm
문제 설명 Input 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수 Output commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return Constraints array의 길이는 1 이상 100 이하입니다. array의 각 원소는 1 이상 100 이하입니다. commands의 길이는 1 이상 50 이하입니다. commands의 각 원소는 길이가 3입니다. Edge casesarray commands return [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] 알고리즘 정렬 Sorted 시간복잡도 최악 최선 코드 (생각을 너무 오래해서 포기했습니다..
[이코테] DFS/BFS
·
✍️2023/Algorithm
- 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 알고리즘 - 대표적인 그래프 탐색 알고리즘으로는 DFS 와 BFS가 있음 - DFS / BFS 는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야함 스택 자료구조 - 먼저 들어온 데이터가 나가는 형식(선입후출)의 자료구조 - 입구와 출구가 동일한 형태로 스택을 시각화 할 수 있다. 젤 먼저 넣은게 젤 나중에나감 파이썬에서는 우와...기본적으로 제공되는 객체인 리스트를 이용해서 스택 이용이 가능하대 대박... 진작에 파이썬할걸 여태 스택 구현하려고 애먹었는데,,, - 최 상단원소는 제일 왼쪽에 있는걸 뽑음 - 최 하단 원소는 그대로 리스트 출력하면됨 큐 - 먼저 들어온데이터가 먼저나가는 선입선출의 자료구조 - 큐는 입구와 출구가 모두..
[BOJ/1244] 구현 문제
·
✍️2023/Algorithm
https://wikidocs.net/22805 1) 리스트 컴프리헨션 ## 리스트 생성하기 기존에 배운 문법으로 1부터 10까지 정수를 순서대로 가지고 있는 리스트를 생성하는코드는 다음과 같습니다. ``` numbers = [] for n i… wikidocs.net 리스트 컴프리헨션..편한데 어렵당.. https://chpark5667.tistory.com/58 2.(2) 코테용 데이터 입력 스킬 (input().split(), map() 등) 1. input() str = input() num = int(input()) 기본적인 입력 방법으로, input()자체는 문자열을 입력받는 것으로 처리됩니다. 그렇기 때문에 int(input())을 해주어야 숫자형 입력이 가능해집니다. num변수에 저장 ch..
[BOJ/20053] 구현 기초문제
·
✍️2023/Algorithm
문제를 풀다보면, 문제의 입력값이 두개, 세개로 여러개를 동시에 입력 받을 때가 있다. 그럴 때, 그냥 줄바꿈으로 받는 형태면 아래와 같이 그냥 input()을 몇개든 적으면 된다. a, b = input(), input() (찾아놓고 보니 이거 문제에서 안씀) 문법 기초 또 알게된것 정리2차원 배열 입력받기(모두 배열의 세로(B)의 크기를 아는경우에만 사용 가능하다고 함) 1. 원소 하나씩 입력받기 arr = [for _ in range(B)] # 2차원배열의 세로길이 B for i in range(B): arr[i]= list(map(int,input().split())) 2. 원소에 list 추가하기 arr = [] for i in range(B): arr.append(list(map(int,inp..
[BOJ/2891]번 그리디 문제
·
✍️2023/Algorithm
카약과 강풍 문제 2890번 을 보면 알겠지만, 상근이는 카약 대회를 개최했다. 그런데, 갑자기 엄청난 강풍이 경기장에 불었고, 일부 카약이 부서졌다. 경기는 5분 안에 시작해야 하는 상황이다. 다행히 일부 팀은 혹시 모를 사태에 대비해서 카약을 하나 더 경기장에 들고 왔다. 카약은 매우 무겁고 운반하기 어렵다. 따라서, 자신의 바로 다음이나 전에 경기하는 팀에게만 카약을 빌려주려고 한다. 즉, 팀 4는 여분의 카약을 3이나 5에게만 빌려줄 수 있다. 다른 팀에게서 받은 카약은 또 다른 팀에게 빌려줄 수 없다. 또, 카약을 하나 더 가져온 팀의 카약이 손상되었다면, 여분의 카약으로 경기에 출전하게되고, 이 카약은 다른 팀에게 빌려줄 수 없다. 카약이 부서진 팀과 하나 더 가져온 팀이 주어진다. 카약을 적..
리촬리
'✍️2023/Algorithm' 카테고리의 글 목록