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

알고리듬88

[알고리듬] #82 방향 검사 [key word] 파이썬 실습창을 열 수 있습니다.실습창 열기 방향 검사(direction check)방향 검사(direction check)는 행렬(array) 등에서 기준위치 주변에 있는 요소의 내용을 검사하는 것입니다. 테트리스, 체스, 바둑, 미로 찾기 등에서 사용되는 응용범위가 넓은 코딩기법(coding technique)입니다. 1. 방향 체크 데이터기준점을 a[i][j]라 하면 4방향의 상대 위치는 다음과 같습니다. 4방향의 인덱스는 표의 숫자만큼 바뀝니다. 3(i-1,j+0) 2(i+0, j-1)(i, j)0 (i+0, j+1)  1(i+1, j+0)  방향 번호0123i의 상대위치(di)010-1j의 상대위치(dj)10-10 표의 값을 list에 넣었습니다.      di = [0, 1.. 2024. 6. 4.
[알고리듬] #81 만년 달력 [key word] 파이썬 실습창을 열 수 있습니다.실습창 열기 만년 달력만년달력(Perpetual Calendar)은 임의의 연도에 대한 달력을 만들 수 있는 달력 프로그램을 일컫는 말입니다.다음의 코드는 #72의 확장으로서 1년치 달력을 12*42 table에 만들어 다단 출력한 것입니다.코드를 분석하여 이해하세요.#Perpetual Calendar#------------------------------------------------------------------------preparationmonth='Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split()week='Sun Mon Tue Wed Thu Fri Sat'day=[31,28,31,30,31.. 2024. 5. 16.
[알고리듬] #80 다단 출력 [key word] 구구단, 파이썬 실습창을 열 수 있습니다,실습창 열기 1. 다단 출력다단 출력(multi stage)은 출력을 여러개의 단으로 나누어 출력하는 것입니다.다음과 같이 출력하는 것이 예입니다. 1   2   3      7   8   9    13 14 15 4   5   6    10  11 12   16 17 1819 20 21    25 26 27    31 32 3322 23 24    28 29 30    34 35 36 1-1. 문제 분석출력은 줄 단위로 하게 됩니다.block(묶음) 단위로 생각합시다. i는 1과 19의 큰 묶음 j는 1,4,19,22의 줄 전체 단위 묶음 k는 1,7,13등의 묶음 l은 1,2,3 등의 낱 단위 1-2. 코딩하기for i in range(1,.. 2024. 5. 16.
[알고리듬] #79 파스칼의 삼각형 [key word]  이항 계수, 시에르핀스키 삼각형파이썬 실습창을 열 수 있습니다.실습창 열기  파스칼의 삼각형파스칼의 삼각형은 이항계수를 삼각형 모양으로 출력한 것입니다.이항계수(binomial coefficient)는 이항식을 이항 정리로 전개했을 때 각 항의 계수입니다.  항의 계수는 조합(combination)의 가짓수와 같습니다. 각항은 nCr이며, 다음은 계산식입니다..      nCr=n!/(r!*(n-r)!) 1. 코딩하기row=10f=[1] #factorial 값을 미리 계산한다.for i in range(1,row+1): f.append(i*f[i-1])for n in range(row+1): print(' '*3*(row-n),e.. 2024. 5. 7.
[알고리듬] #78 4N 마방진 [key word] 뒬러, 짝수 마방진파이썬 실습창을 열 수 있습니다.실습창 열기 4N 마방진짝수 마방진은 4N 마방진 (차수가 4의 배수인 마방진)을 만드는 방법은 연구되어 있지만 그 외는 방법을 못찾고 있습니다. 아마도 당신이 찾아주기를 기다리고 있는 것 같습니다.4N 마방진을 연구한 몇 사람 중에서 뒬러의 방법을 소개합니다. 1. 뒬러((Durer)의 방법 1부터 n*n 까지의 숫자를 한줄한줄씩 순서대로 기록하는데 기록하는 곳이 대각선이면 대칭되는 곳에 기록합니다.이것이 뒬러가 얘기한 방법입니다. 코딩은 우리의 몫입니다. 2. 문제 분석코딩을 하기 위해서 대각선 판단과 대각선이면 대칭되는 곳 또 그곳에 넣을 값을 찾아야 합니다. i행, j열의 대각선 판단은 다음과 같이 할 수 있습니다.       .. 2024. 5. 1.
[알고리듬] #77 홀수 마방진 [key word] 매직 스퀘어, 드라루벨, 샴 방식 , 마법 상수 파이썬 실습창을 열 수 있습니다.실습창 열기  홀수 마방진중국  하나라의 우 임금 시절 (약 4000년 전) 우왕은 매년 범람하는 황하의 물길을 정비할 때 이상한 그림이 새겨진 거북의 등 껍데기를 발견했습니다. 등 껍데기에는 1부터 9까지의 숫자가 있었는데 가로, 세로, 대각선의 어느 방향으로 더해도 그 합이 15였습니다(황하 낙수). 여기서 유래하여 오늘날 마방진(magic square)이 생겼습니다. 마방진( 魔方陣 )의 '마'는 마법, '방'은 4각형, '진'은 배치한다는것으로 '신비로운 4각형 배열'아리는 뜻입니다. 마방진은 정사각형(정방행렬)에 1부터 차례로 숫자를 적되, 중복하거나 빠뜨리지 않고 가로, 세로, 대각선에 있는 수.. 2024. 5. 1.
728x90
반응형