본문 바로가기

전체 글

(163)
TIL 23-04-25 백준 알고리즘 - 수 정렬하기 3 1. 백준 알고리즘 - 설탕 배달 문제점 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는..
TIL 23-04-24 팀원과의 알고리즘 코드리뷰 - 양꼬치 1. 팀원과의 알고리즘 코드리뷰 - 양꼬치 문제점 def solution(n, k): YangKkochi = n * 12000 freeCoke = str(n)[:-1] coke = (k - int(freeCoke)) * 2000 answer = YangKkochi + coke return answer 반례 찾기 시도해 본 것들 문제가 생기는 부분 찾기 1 freeCoke = str(n)[:-1] coke = (k - int(freeCoke)) * 2000 이 부분에서 n이 9이하인 경우 freeCoke가 빈값으로 남아서 int로 형 변환시 에러 발생 if n < 10: freeCoke = 0 else: freeCoke = str(n)[:-1] if문 추가 def solution(n, k): YangKko..
WIL 23-04-23 1. Django - 팀프로젝트 발표 한 주 동안 있었던 일 발표하기 전 오전까지 계속해서 수정 사항 발생 있었던 일에 대한 생각 더 개선하고 싶은 욕구가 있어도 주말에는 끝을 내야했다. 그것으로부터 배운 점 기한이 정해진 작업을 할 때 단순히 많은 코드를 작성하고 추가하는 게 능사가 아니고 그 시간에 어떤 작업을 할지 가이드 라인이 필요하다. 배운 것을 활용할 방법 데드라인을 설정하고 진행 상태와 비교하며 추가 수정한다. 이번 주 목표 백준 알고리즘 매일 5문제 이상 풀기 - 5/7일 성공 토요일만 되면 너무 오래 누워있어서 자꾸 실패하게 된다. 그래도 한 문제씩이라도 풀어서 다행이다. Django 기초 강의 완강 - 기초 강의에서 Django 부분은 이해하고 완강하는 데 성공했다. 하지만 AWS 배포..
TIL 23-04-23 백준 알고리즘 - 달팽이는 올라가고 싶다 1. 백준 알고리즘 - 달팽이는 올라가고 싶다 문제점 문제 설명 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. # 낮에 A미터 상승, 밤에 B미터 하락 정상 등반시 하락X # A = 올라감, B = 내려감, V= 정상 시도해 본 것들 while문..
TIL 23-04-22 백준 알고리즘 - 벌집 1. 백준 알고리즘 - 벌집 문제점 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때,벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. # 입력 도착점 # 출력 1에서 도착점까지의 최단거리 # 1을 둘러싼 육각형 # 1, 6, 12, 18, 2..
TIL 23-04-21 페어 프로그래밍 - 연속된 수의 합 1. 페어 프로그래밍 - 연속된 수의 합 문제점 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. # num은 숫자의 개수, total은 숫자의 합 # reutrn은 숫자의 리스트 # 배열은 오름차순으로 정렬 시도해 본 것들 기준점을 위한 중간값 찾기
TIL 23-04-20 페어 프로그래밍 - 직사각형 넓이 구하기 1. 페어 프로그래밍 - 직사각형 넓이 구하기 문제점 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요 문제를 이해하는 것부터 상당히 어렵다. if dots = [[-1, -1], [1, 1], [1, -1], [-1, 1]] # dots = [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] # return 은 직사각형의 넓이 # for, sort, max, min 시도해 본 것들 하드 코딩 2중 for문과 양수, 음수에 따른 조건문으로 x, y의 길이..
TIL 23-04-19 1. [페어프로그래밍] 프로그래머스 입문 - 숫자 찾기 문제점 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. # num , k는 int # return은 num에 k가 있으면 자릿수 return, # 없으면 -1 return 시도해 본 것들 num에서의 자릿수를 파악하기 위한 index 사용 index를 사용할 수 있도록 하기 위한 str로 형변환 index의 결과값이 0부터 시작하고 요구하는 return값은 1부터 시작하므로 index값에 +1 추가 num 안에 k가 없는 경우에 발생하는 ValueError를 해결하기 위해 try, except ..