분류 전체보기110 프로그래머스 - 큰수만들기 (파이썬) number에서 k개의 숫자를 삭제해서 만들 수 있는 최대한 큰수를 만들어야 한다. number을 앞에서부터 돌면서 i+1번째 인덱스의 숫자가 i번째 인덱스보다 크면 앞에 숫자를 삭제해 주고 k를 1 감소시켰다. number을 한바퀴 돌아도 k가 남아있다면 number에 있는 숫자중 가장 작은값을 없애는 방식으로 k를 1씩 감소시켰다. def solution(number, k): answer = '' i=1 while(k>0): if number[i]>number[i-1]: number=number[:i-1]+number[i:] k-=1 if i>1: #i-1번째 인덱스를 제거했으므로 i번째 인덱스는 i-1번째 인덱스가 됨 i-=1 else: i+=1 if len(number)==i: break whil.. 2024. 4. 15. 프로그래머스 - 2xn타일링 (파이썬) 1. 조합사용(x) 가능한 경우의 수를 조합을 사용해서 풀어보았다. nCr을 풀기위해 nPr/r!을 만들었는데 n이 일정값 이상이 되면 nPr이 int형 범위를 벗어나 오버플로우 현상이 발생함을 확인했다. def comb_len(n,r): top,bottom=1,1 if n-r=0): answer+=(comb_len(n,one_len)) n-=1 one_len-=2 return answer 2. 피보나치수열 사용(dp) n값을 1부터 5까지 설정하여 answer을 구해보았다 n=1 -> answer=1 n=2 -> answer=2 n=3 -> answer=3 n=4 -> answer=5 n=5 -> answer=8 피보나치 수열을 이루므로 n이 3 이상일 때 앞에 두 값을 더해서 구해주었다. def so.. 2024. 4. 15. 프로그래머스 - 다리를지나는트럭 (파이썬) list를 que처럼 사용하여 풀기 def solution(bridge_length, weight, truck_weights): answer = 0 tot=0 que_i=0 que=[0]*bridge_length for truck_weight in truck_weights: tot-=que.pop(0) #맨 앞에 que값 다리를 건넘 while(tot+truck_weight>weight): #다리에 있는 트럭 무게가 weight보다 클경우 que.append(0) #0을 추가시키고 answer+=1 tot-=que.pop(0) #맨 앞에 que값 빼기 tot+=truck_weight que.append(truck_weight) #que맨뒤에 트럭의 무게 넣기 answer+=1 answer+=bridge_.. 2024. 4. 15. 11주차 실습수업 기록 - 파일 입출력 (ifstream, ofstream) 파일 입출력에 쓰이는 여러가지 옵션들을 익히고 이진파일을 출력하는법, 16진수로 출력하는 법에 대해 실습해보는 시간이었다. 많은 학부생들이 이진파일을 출력하는 법에 대해 많이 헷갈려 했다. 아래 5번 문제를 통해 이진파일 이해에 도움이 되길 바라며..! 2024. 4. 14. 10주차 실습수업 기록 - 파일입출력 10주차에는 파일 입출력에 대한 실습을 진행했다. while문을 통해 입출력 진행하는 부분을 많이 어려워 했던 것 같아 while부분을 위주로 오답노트를 작성해 제공했다. 2024. 4. 14. 9주차 실습수업 기록 - 가상함수 9주차에는 가상함수에 대한 실습을 진행했다. 각 문제마다 질문이 많았던 부분을 위주로 정리하여 오답노트로 만들어 제공했다. 2024. 4. 14. 이전 1 2 3 4 5 6 7 ··· 19 다음