KATA#26

codataffee·2024년 5월 6일
0

CODEKATA

목록 보기
26/114
post-thumbnail

WHAT IS KATA?

KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.

이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.


- PYTHON


✔️ 문제 #1: 직사각형 별찍기

✔️ 제출 코드

✔️ 코드 분석

a, b = map(int, input().split())
# 두 개의 숫자를 입력받아 공백으로 구분한 후, a와 b에 각각 할당
for x in range(b):
# b번 실행되어 사각형의 높이를 결정
    for y in range(a):
    # a번 실행되어 사각형의 너비를 결정
        print('*',end='')
        # a번 실행되는 동안 1번 당 '*' 1개를 줄바꿈 없이 반환
    print(end='\n')
    # a 개의 '*' 한 줄을 출력 후, '\n' 커서를 다음 줄로 이동
      b번 실행


✔️ 문제 #2: 최대공약수와 최소공배수

✔️ 제출 코드

✔️ 코드 분석

def solution(n, m):
    x = 0
    y = 0
    for i in range(min(n,m), 0, -1):
        if n % i == 0 and m % i == 0:
            x = i
            break
    for i in range(max(n,m),(n*m)+1):
        if i % n == 0 and i % m == 0:
            y = i
            break
    return [x,y]


✔️ 문제 #3: 3진법 뒤집기

✔️ 제출 코드

✔️ 코드 분석

def solution(n):
    sn = ''
    # 결과를 저장할 빈 문자열 생성
    while n > 0:
        sn += str(n % 3)
        # n을 3으로 나눈 나머지를 문자열로 변환하여 sn에 추가
        # 나머지가 끝부분부터 추가되기 때문에 추가로 뒤집지 않음
        n = n // 3
        # n을 3으로 나눈 몫으로 업데이트
    return int(sn, 3)
    # 3진법 문자열을 10진법으로 변환하여 반환


✔️ CHECK POINT


profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보