실력진단

학습내용
릴레이 문제 풀면서 학습했습니다
- 문자 삼각형 출력하기 2
https://www.codetree.ai/training-field/home/relay/problems/print-char-triangle-2/description

n = int(input())
num = 65
arr = [[' ' for _ in range(n)] for _ in range (n)]
for y in range((n//2), -1, -1):
for x in range(y, n-y):
arr[x][y] = chr(num)
num +=1
if num>90:
num = 65
for i in range(n): # 세로 크기
for j in range(n): # 가로 크기
print(arr[i][j], end=' ')
print()
- 수 전부 이어붙이기
import math
n=int(input())
arr=list(input().split())
string="".join(arr)
string=list(string)
for i in range(math.ceil(len(string)/5)):
print(''.join(string[i*5:(i+1)*5]))
- 지뢰찾기
n=int(input())
arr=[list(input()) for _ in range(n)]
arr_player=[list(input()) for _ in range(n)]
ans=[[0 for _ in range(n)] for _ in range(n)]
dx=[-1,-1,-1,0,0,1,1,1]
dy=[-1,0,1,-1,1,-1,0,1]
def in_range(x, y):
return 0 <= x and x < n and 0 <= y and y < n
for i in range(n):
for j in range(n):
if arr_player[i][j]=='x':
cnt=0
for k in range(8):
nx=i+dx[k]
ny=j+dy[k]
if in_range(nx,ny) and arr[nx][ny]=='*':
cnt+=1
ans[i][j]=cnt
else:
ans[i][j]='.'
for i in range(n):
for j in range(n):
print(ans[i][j],end='')
print()
- 거듭제곱을 출력하는 함수
a,n=map(int,input().split())
def power(a, n):
if n == 1:
return a
return power(a, n-1) * a
print(power(a,n))
- 알파벳 x2
#처음 풀이
stack=[]
input_arr=list(input())
for alpha in input_arr:
if len(stack)>0 and stack[-1]==alpha:
stack.pop()
else:
stack.append(alpha)
cnt=0
ans=0
for i in range(1,len(stack)//2):
if ord(stack[-i])<ord(stack[-(i+1)]):
cnt+=1
ans=len(list(set(stack)))-cnt-1
if ans==-1:
ans=0
print(ans)
'Computer Science > 알고리즘' 카테고리의 다른 글
[코드트리 챌린지] 재귀함수 활용 (1) | 2023.10.19 |
---|---|
[코드트리 챌린지] 함수활용 (1) | 2023.10.16 |
최대공약수 최소공배수 알고리즘 (유클리드 호제법) (0) | 2023.10.06 |
[코드트리 챌린지] 완전탐색 (0) | 2023.09.30 |
[코드트리 챌린지] 객체 정렬, 시뮬레이션(배열-리스트, dx-dy technique) (0) | 2023.09.27 |