알고리즘(36)
-
[2022-03-24] 유기농 배추
푼 시간 : 2시간정도 ( 잘 모름.. ) 언어 : 파이썬 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 대충 그래프 문제 이제 코딩테스트 준비를 진짜 해야되서 풀면서 힌트가 될만한 문제는 다시 스크랩을 할 예정이다. 내가 푼 문제니까 다시 보면 아 이런 문제는 이런 유형이구나 하고 기억할거같아서 다시 넣는다. # 백준 1012번 유기농 배추 # 2시간은 걸린듯 # 파이썬은 2차원 배열을 선언하면서 시간이 오래걸린다. (2차원 배열의 객체크기가 클경우) ..
2022.03.24 -
탐색 알고리즘, 시간복잡도 파이썬
선형 탐색법 def findIndexLinear(array, condition): for i in range(len(array)): if array[i] == condition: return i # 최선의 경우 - 한번의 탐색으로 해결 findIndexLinear([2,4,5,1,6], 2) # 최악의 경우 - 배열의 크기만큼 탐색으로 해결 print(findIndexLinear([2,4,5,1,6], 6)) 시간복잡도 = O(n) ** 데이터 수가 많아지면 효율이 굉장히 안좋아짐 정렬되지 않은 데이터에 자주 사용 이진 탐색법 def findIndexBinary(array, target): start = 0 end = len(array)-1 mid = (start+end)//2 while end - st..
2022.03.19 -
[2021-09-10] 복서 정렬하기
푼 시간 : 2시간 30분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/85002?language=java 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 정렬인데, 단순한 정렬같은 느낌이 아니었다... 완전탐색을 보는듯한 풀이법.. 코드를 더 효율적으로 쓰고싶다...ㅜㅜ 주어진 조건대로 풀이를 하고나서 처음에는 테스트케이스가 맞아서 기뻐했는데 제출을 해보니 안맞는것이었다. 조건 몇가지를 내 맘대로 생각해서 질질 끌고..
2021.09.11 -
[2021-07-25] 기능개발 (lv2)
푼 시간 : 50분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 스택 큐 활용해야되서 했는데, 오히려 다른데서 함정에 빠져버렸다. 작업량이 끝내려니까 자꾸 하나가 안더해져서 계속 골치였는데, 그냥 잠깐 노래듣다보니 마지막에 더하면 되는데 왜 굳이 못 더할까? 이런 생각이 들었다. 끝에 바로 더해버렸다. def solution(progresses, speeds): answer = [] ..
2021.07.25 -
[2021-07-13] 예산
푼 시간 : 5분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 탐욕법이라고 생각했지만 그냥 쉽게 생각했다. 어차피 모든 부서가 작은값부터 들어가야 최대가 될수 있기에 그냥 다른거 안 넣었다.. 지문 참 어렵게 풀어 쓴 거 같다. import java.util.*; class Solution { public int solution(int[] d, int budget) { int answer = 0..
2021.07.13 -
[2021-07-12] 숫자 문자열과 영단어
푼 시간 : 30분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 조건 하나를 잘못 줘서 계속 고민했다. 문자열 핸들링에 좀 능숙해졌다고 느낀것이 mapping개념으로? 풀었는지는 몰라도 mapping변수를 만들어, 매핑시키듯이 문제를 풀었다. class Solution { public int solution(String s) { String answer = ""; // 일부러 St..
2021.07.12