취업준비

[Do it! 자료구조, 알고리즘 Python] 1장. 알고리즘 기초 본문

취업준비/코딩테스트

[Do it! 자료구조, 알고리즘 Python] 1장. 알고리즘 기초

AI&U_99 2022. 3. 13. 16:06
>>> #Do it 파이썬 : 1-1 #세 정수를 입력받아 최댓값 구하기
>>> print('세 정수의 최댓값을 구합니다.')

세 정수의 최댓값을 구합니다.
>>> a=int(input('정수 a의 값을 입력하세요:'))

정수 a의 값을 입력하세요:4
>>> b=int(input('정수 b의 값을 입력하세요:'))

정수 b의 값을 입력하세요:5
>>> c=int(input('정수 c의 값을 입력하세요:'))

정수 c의 값을 입력하세요:1
>>> maximum = a

>>> if b> maximum: maximum = b

>>> if c> maximum : maximum = c

>>> print(f'최댓값은 {maximum} 입니다.')
최댓값은 5 입니다.
# 이름 입력받기
>>> print('이름을 입력해라.:', end='')
이름을 입력해라.:
>>> name=input()
가나다라
>>> print(f'안녕하세요 {name}님')
안녕하세요 가나다라님
# 세 정수 의 최댓값 구하기
>>> def max3(a,b,c):
	maximum=a
	if b> maximum: maximum=b
	if c> maximum: maximum = c
	return maximum #최댓값 변환

>>> print(f'max3(3,2,1)={max3(3,2,1)}')
max3(3,2,1)=3
>>> print(f'max3(3,2,2)={max3(3,2,2)}')
max3(3,2,2)=3
>>> print(f'max3(3,2,3)={max3(3,2,3)}')
max3(3,2,3)=3
#세 정수를 입력받아 중앙값 구하기1
>>> def med3(a,b,c):
	if a>=b:
		if b>=c:
			return b
		elif a<=c:
			return a
		else:
			return c
	elif a>c:
		return a
	elif b>c:
		return c
	else:
		return b

	
>>> print('세 정수의 중앙값을 구합니다')
세 정수의 중앙값을 구합니다
>>> a=int(input('정수 a의 값을 입력해라:'))
정수 a의 값을 입력해라:54
>>> b=int(input('정수 b의 값을 입력해라:'))
정수 b의 값을 입력해라:4
>>> c=int(input('정수 c의 값을 입력해라:'))
정수 c의 값을 입력해라:71
>>> print(f'중앙값은{med3(a,b,c)}입니다.')
중앙값은54입니다.
#1-2. 1부터 n까지 정수의 합 구하기1(while문)
>>> print('1부터 n까지 정수의 합 구해라')
1부터 n까지 정수의 합 구해라
>>> n=int(input('n값 입력해라:'))
n값 입력해라:7
>>> sum=0
>>> i=1
>>> while i<n:
	sum+=i
	i+=1

	
>>> print(f'1부터 {n}까지 정수의 합은 {sum}이다.')
1부터 7까지 정수의 합은 21이다.
#1부터 nRkwl wjdtndml gkq rngkrl 2(for 문)
>>> print( '1부터 n까지 정수의 합을 구해라.')
1부터 n까지 정수의 합을 구해라.
>>> n=int(input('n값을 입력해라:'))
n값을 입력해라:7
>>> sum=0
>>> for i in range(1,n+1):
	sum+=i

	
>>> print(f'1부터 {n}까지 정수의 합은 {sum}이다.')
1부터 7까지 정수의 합은 28이다.
# *를 n개 출력하되 w개마다 줄바꿈하기2
>>> print('*를 출력합니다')
*를 출력합니다
>>> n=int(input('몇 개를 출력할까요?:'))
몇 개를 출력할까요?:16
>>> w=int(input('몇개마다 줄바꿈할까요?:'))
몇개마다 줄바꿈할까요?:3
>>> for _ in range(n//w):
	print('*'*w)

	
***
***
***
***
***
>>> rest=n%w
>>> if rest:
	print('*'*rest)

	
*
#가로, 세로 길이가 정수이고, 넓이가 area인 직사각형에서 변의 길이 나열하기
>>> area = int(input('직사가곃의 넓이를 입력해라:'))
직사가곃의 넓이를 입력해라:56
>>> for i in range(1,area+1):
	if i*i > area:break
	if area%i:continue
	print(f'{i}*{area//i};)
	      
SyntaxError: EOL while scanning string literal
>>> for i in range(1,area+1):
	if i*i > area:break
	if area%i:continue
	print(f'{i}*{area//i}')

	
1*56
2*28
4*14
7*8
# 1부터 12까지, 8을 건너뛰고 출력하기
for i in list(range(1,8))+list(range(9,13)):
	print(i, end=' ')
1 2 3 4 5 6 7 9 10 11 12

>>> print()
# 구구단 곱셈표 출력하기
>>> print('-'*27)
---------------------------
>>> for i in range(1,10):
	for j in range(1,10): 
		print(f'{i*j:3}', end='') #i행xj행 
	print() #행 변경

	
  1  2  3  4  5  6  7  8  9
  2  4  6  8 10 12 14 16 18
  3  6  9 12 15 18 21 24 27
  4  8 12 16 20 24 28 32 36
  5 10 15 20 25 30 35 40 45
  6 12 18 24 30 36 42 48 54
  7 14 21 28 35 42 49 56 63
  8 16 24 32 40 48 56 64 72
  9 18 27 36 45 54 63 72 81
>>> print('-'*27)
---------------------------
# 왼쪽 아래가 직각인 이등변 삼각형으로 * 출력하기
>>> print('왼쪽 아래가 직각인 이등변 삼각형을 출력한다.')
왼쪽 아래가 직각인 이등변 삼각형을 출력한다.
>>> n= int(input('짧은 변의 길이를 입력해라:'))
짧은 변의 길이를 입력해라:5
>>> for i in range(n):
	for j in range(i+1):
		print('*', end='')
	print() #행변경

	
*
**
***
****
*****


# 오른쪽 아래가 직각인 이등변 삼각형으로 * 출력하기
>>> print('오른쪽 아래가 직각인 이등변 삼각형으로 * 출력한다')

오른쪽 아래가 직각인 이등변 삼각형으로 * 출력한다
>>> n=int(input('짧은 변의 길이를 입력해라:'))
짧은 변의 길이를 입력해라:6
>>> for i in range(n):
	for _ in range(n-i-1):
		print(' ', end='')
	for _ in range(i+1):
		print('*',end='')
	print()

	
     *
    **
   ***
  ****
 *****
******
# 함수 내/외부에서 정의한 변수와 객체의 식별 번호를 출력하기
>>> n=1 #전역 변수(함수 내/외부에서 사용)
>>> def put_id():
	x=1 #지역 변수(함수 내부에서만 사용)
	print(f'id(x)={id(x)}')

	
>>> print(f'id(1)={id(1)}')
id(1)=2200107575600
>>> print(f'id(n)={id(n)}')
id(n)=2200107575600
>>> put_id()
id(x)=2200107575600


# 1부터 100까지 반복해서 출력하기
>>> for i in range(1,101):
	print(f'i={i:}  id(i)={id(i)}')

	
i=1  id(i)=2200107575600
i=2  id(i)=2200107575632
i=3  id(i)=2200107575664
i=4  id(i)=2200107575696
i=5  id(i)=2200107575728
i=6  id(i)=2200107575760
i=7  id(i)=2200107575792
i=8  id(i)=2200107575824
i=9  id(i)=2200107575856
i=10  id(i)=2200107575888
i=11  id(i)=2200107575920
i=12  id(i)=2200107575952
(...생략...)