profile
벌집처럼 밀도있게 차곡차곡 쌓아나가는중
post-thumbnail

[인프런] 파이썬 알고리즘 문제풀이 입문 - 이분탐색 & 그리디 (수정중)

1. 이분검색 > 임의의 N개의 숫자가 입력으로 주어진다. N개의 수를 오름차순으로 정렬한 다음 N개의 수 중 한 개의 수인 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째 있는지 구하는 프로그램을 작성하시오. 단, 중복값은 존재하지 않는다. 8 32 23 87 65 12 57 32 99 81 TypeError: 'NoneType' object is not subscriptable None 타입의 값에 인덱스로 접근하려해서 발생했다. 틀린이유 : 원인은 .sort() 함수 때문이었다.array.sort()는 array라는 리스트 자체를 정렬 변경하기 때문에 사실상 반환값이 None 이다. 반면에 sorted(array)는 array 리스트를 정렬한 새로운 리스트를 생성해서 반환해준다. 따라서 array.sort()로 하던지 아니면 array = sorted(array) 로 해야한다. .sort()와 `sorted(a

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

[인프런] 파이썬 알고리즘 문제풀이 입문 - 탐색 & 시뮬레이션

1. 회문 문자열 검사 > N개의 문자열 데이터를 입력받아 앞에서 회문 문자열(읽을 때나 뒤에서 읽을 때나 같은 경우)이면 YES를, 아니면 NO를 출력하는 프로그램을 작성하시오. (단, 회문을 검사할 때 대소문자를 구분하지 않는다.) 5 level #1 YES mooon #2 NO abcba #3 YES soon #4 NO gooG #5 YES 5 level #1 YES mooon #2 NO abcba #3 YES soon #4 NO gooG #5 YES 2. 숫자만 추출 > 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만든다. 만들어진 자연수와 그 자연수의 약수 개수를 출력하는 프로그램을 작성하시오. 예) “t0e0a1c2h0er”에서 숫자만 추출하면 0, 0, 1, 2, 0이고 이것을 자연수를 만들면 1

2023년 3월 4일
·
0개의 댓글
·
post-thumbnail

[인프런] 파이썬 알고리즘 문제풀이 입문 - 코드 구현력 기르기 (수정중)

1. K번째 약수 > 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오. 6 3 3 핵심은 for ~ else 구문을 활용하는 것이었다. for ~ else문은 for문이 break 등으로 중간에 끊기지 않고 정상적으로 실행되었을 경우 else문이 실행된다. 즉 이 문제에서는 for문이 정상적으로 끝났을 경우(=약수를 찾지 못했을 때), else문이 실행되면서 -1을 출력하게 된다. 내가 푼 풀이도 맞기는 하지만, 좀 더 체계적으로 코드를 작성하려면 이번 문제에서는 for ~ else문 사용이 핵심 포인트였던 것! 2. K번째 수 > N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열 중에서 s번째부터 e번째 까지의 수를 오름차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램을 작성하세요. 2 6 2 5 3 5 2 7 3 8 9 3 15

2023년 3월 4일
·
0개의 댓글
·