구현

yejichoi·2023년 4월 26일
0

알고리즘 스터디

목록 보기
47/153
post-thumbnail

완전 탐색

모든 경우의 수를 주저 없이 다 계산하는 해결 방법
-> 비효율적인 시간 복잡도를 가지고 있으므로 데이터 개수가 큰 경우에 정상적으로 작동x

  • 전체 데이터 개수가 100만개 이하일 때 사용

시뮬레이션

문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행

⏰ 상하좌우


#5
# R R R U D D

n = int(input())
x , y = 1, 1  #초기값 세팅
plans = input.split()

dx = [0, 0, -1, 1]
dy = [-1, 1,0, 0]
move_types = ['L', 'R', 'U', 'D']

for plan in plans:
	for i in range(len(move_types)):
    	if plan == move_types[i]:
        	nx = x + dx[i]
            ny = y + dy[i]
            
    if nx > n or ny > n or ny < 1 or nx < 1:
    	continue
    x , y = nx, ny
    
print(x,y)    
    

🚧 시각

h = int(input())

count = 0

for i in range(h+1):
	for j in range(60):
    	for k in range(60):
        	if '3' in str(i) + str(j) + str(k):
            	count += 1
print(count)                
              

👑 왕실의 나이트

input_data= input() #a1
row = int(input_data[1]) #뒷자리 숫자
column = int(ord(input_data[0])- ord("a")) + 1
# 입력되는 알파벳의 자리값 - 기본 알파벳 자리값 + 1 (1부터 시작이니까 더하기 1)

result = 0
#좌표의 이동 가능한 방향 정의 
steps = [(-2,1),(-2,-1),(2,1),(2,-1),(-1,2),(-1,-2),(1,2),(1,-2)]

for step in steps:
	next_row = row + step[0]
    next_column = column + step[1]
    
    #좌표의 범위를 벗어나지 않는다면
    if next_row >=1 and next_row <=8 and next_column >=1 and 
    next_column <=8:
    	
        result +=1


print(result)

ord()

ord(c)는 문자의 유니코드 숫자 값을 리턴하는 함수
ord 함수는 chr 함수와 반대

>>> ord('a')
97
>>> ord('가')
44032

for _ in range(n)

파이썬에서 언더스코어(_)는 특별한 의미

  • 인터프리터(Interpreter)에서 마지막 값을 저장할 때
  • 값을 무시하고 싶을 때 (흔히 “I don’t care"라고 부른다.)
  • 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때
  • 국제화(Internationalization, i18n)/지역화(Localization, l10n) 함수로써 사용할 때
  • 숫자 리터럴값의 자릿수 구분을 위한 구분자로써 사용할 때
# N X M 크기의 2차원 리스트 초기화

>>> m = 5
>>> n = 8

>>> array = [[0]*m for _ in range(n)]

>>> array
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], ... , [0, 0, 0, 0, 0]]

게임 개발

이건,, 문제가 도저히 이해가 안간다...

0개의 댓글