본문 바로가기
  • Top Genius in the world
반응형

알고리듬88

[알고리듬] #76 리스트 핸들링 [key word] 리스트 내포, 배열, 어레이, 차원, 면 , 행, 열파이썬 실습창을 열 수 있습니다.실습창 열기  리스트 핸들링리스트 핸들링(list handling)은 리스트를 처리하는 것입니다.리스트 자료구조(data structure)는 확장된 배열입니다. 일반적인 배열(행렬, array, matrix, table)은 같은 형(type), 같은 크기의 data를 일정한 차례나 간격으로 벌여 놓은 것이지만 list는 다른 형, 다른 크기도 함께 늘여놓을 수 있습니다.리스트는 기본적으로 한 줄로 되어 있는 일차원 구조이지만 리스트 속에 리스트를 사용하는 리스트 내포(list comprehension)로서 높이(면),  줄(행), 칸(열) 등이 있는 다차원 구조도 구성할 수 있습니다.2차원 리스트 (.. 2024. 4. 30.
[알고리듬] #75 순위 구하기 [key word] 랭크, 동점동석차, 골프 순위, 골프 용어파이썬 실습창을 열 수 있습니다.실습창 열기  순위 구하기순위(rank)는 어떤 항목의 상대적인 위치를 중요도에 따라 오름차순이나 내림차순으로 정리한 것입니다.정렬(sort)은 원래의 data 순서를 바꾸지만 순위는 원래의 data는 그대로 두고, 값의 크기에 따라 순위를 표시합니다.다음은, 같은 점수이면 같은 석차로 표시하는 ‘동점 동석차’ 순위의 예입니다. 55 6  33 8  0 10  77 3  44 7  33 8  77 3  88 2  77 3  99 1 순위를 구하는 방법을 생각하여 봅시다.각각의 데이터에 대하여 나머지 전체와 비교하여 순위를 정한다.기본적인 방법으로 언제나 사용할 수 있는 방법입니다.그러나 시간이 많이 걸릴것 같습니.. 2024. 4. 28.
[알고리듬] #74 선택 정렬 [key word] 픽업, 소트 메소드, 리버스파이썬 실습창을 열 수 있습니다.실습창 열기  선택 정렬 1. 선택 정렬 분석선택 정렬(selection sort)도 버블 정렬과 함께 기본적인 정렬방법입니다.다음 코드를 분석하여 원리를 파악하여 보세요.a=[1,5,2,4,3]n=len(a)for i in range(n-1): p=i for j in range(i+1,n): if a[p]>a[j]:p=j a[i],a[p]=a[p],a[i]print(a) 선택 정렬의 원리를 개략적으로 설명할 수 있습니까?첫째 칸에 전체의 최소값을 넣는다.다음 칸에 나머지의 최소값을 넣는다.이러한 방법으로 마지막 앞의 칸까지 진행한다(마지막은 자동으로 최대값)3번 줄에 있는 i의 역할은 무엇입니까?.. 2024. 4. 27.
[알고리듬] #73 버블 정렬 [key word] 거품 정렬, 셔플링, 오름차순, 내림차순, 플랙 소트파이썬 실습창을 열 수 있습니다.실습창 열기 버블 정렬 1. 정렬의 개념정렬(sort)은 항목(item)들을 체계적(오름차순 또는 내림차순 등) 으로   정리하는 과정을 일컫는 말입니다.정렬을 하면 다음과 같은 장점이 있습니다.검색(search)을 효율적으로 할 수 있다.일련의 아이템에 대한 병합(merge)을 효율적으로 할 수 있다.정의된 순서로 데이터 처리를 할 수 있다.파이썬 시스템에는 정렬 함수와 정렬 메소드가 준비되어 있어서 매우 쉽게 사용할 수 있습니다.a=[1,5,2,4,3] # 원시 데이터b=sorted(a) # 정렬 함수(a를 정렬하여 b에 바인딩, out-place sort)print(a) .. 2024. 4. 27.
[알고리듬] #72 달력 만들기 [Key word] 날짜수, 요일, 윤년과 평년파이썬 실습창을 열 수 있습니다.실습창 열기  달력 만들기2024년 6월의 달력입니다.연도와 달을 입력받아서 달력을 만들어 봅시다. 1. 프로그램 구상한 달의 달력을 한 줄에 적어놓고 7일 단위로 줄을 바꾸어 출력하면 어떨까요?개략적인 구상은 다음과 같습니다.한 달은 최대 6주에 걸쳐 있습니다(위의 2024년 6월 달력 참조) 또한 일주일은 7일입니다. 그러므로 42열(=6주*7일)의 리스트를 준비합니다.그 달의 첫째 날(1일) 요일을 구해서 요일에 맞는 열부터 그 달의 날짜 수만큼 적습니다. 첫번째 열은 일요일로 생각합니다.리스트를 7열씩 줄을 바꾸어 출력합니다.다음은 2024년 6월의 달력 리스트입니다(인덱스 0부터 41까지).......12345678~.. 2024. 4. 27.
[알고리듬] #70 3N+1 문제(1) [key word] 콜라츠 추측, 우박수, 타임 모듈, 에포크 타임파이썬 실습창을 열 수 있습니다.실습창 열기 3N+1 문제 [배경]3N+1 문제(The 3n+1 problem)는 알고리듬을 공부하는 사람들이 통과의례처럼 해결해야 하는 문제로 알려져 있다.우리도 이 문제를 해결하고 알고인(algo人)이 되자. [문제]수열을 만드는 다음과 같은 방법을 생각하여 보자.정수 n으로 시작한다. n이 짝수이면 2로 나누고, n이 홀수이면 3을 곱하고 1을 더한다. 새로운 n이 1이 될 때까지 이 과정을 반복한다. 예를 들어, 다음 수열은 n=22인 경우이다.        22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1이 방법은 모든 정수 n에 대하여 n=1에서 종료될 것으로 예상(아직.. 2024. 4. 26.
728x90
반응형