TIL 240228

hyeo71·2024년 2월 28일
0

2024 내배캠 AI 트랙

목록 보기
41/108

Git Branch

브랜치 생성

git branch: 브랜치 리스트 출력, 사용 중인 브랜치 확인
git branch 브랜치명: 브랜치 생성

브랜치 이동

git switch 브랜치명
git checkout 브랜치명

성능은 동일하지만 switch가 비교적 최신에 생김

브랜치 생성과 이동을 한번에

git switch -c 브랜치명
git checkout -b 브랜치명

브랜치 삭제

git branch -d 브랜치명: 뻗어나온 브랜치에 비해 변경사항이 없을 때만 사용 가능
git branch -D 브랜치명: delete force, 브랜치를 강제로 삭제

브랜치 합치기

git switch 최종 브랜치명로 브랜치 이동 후 git merge 합칠 브랜치명을 사용하여 브랜치를 합칠 수 있다. 하지만 CLI환경에서는 merge를 잘 사용하지 않고 github 사이트에서 merge(PR)를 진행한다.

그 외의 팁

  • 브랜치에서 코드 수정, add, commit 후 push할 땐 브랜치 이름과 같아야 한다.
  • main 브랜치 = 배포용, develop 브랜치 = 테스트용, feature(기능) 브랜치 = 기능 개발용으로 사용한다.

Baekjoon

16922 - 로마 숫자 만들기

16922 - 로마 숫자 만들기

로마 숫자 N개를 사용해서 만들 수 있는 서로 다른 수의 개수를 출력

itertools 모듈의 중복 조합을 사용하여 IVXL 4개의 로마 숫자 중 N개를 사용하여 만들 수 있는 조합을 구한다.
IVXL은 각각 해당 숫자와 dictionary의 형태로 저장한다.
조합이 달라도 조합에 해당하는 숫자의 합이 일치할 수 있기 때문에 조합된 숫자의 합이 결과 리스트에 있다면 추가하지 않고 결과 리스트의 길이를 출력하는 방법을 사용하여 문제를 해결했다.

import itertools

Rome = {"I": 1, "V": 5, "X": 10, "L": 50}


def diff_num(num):
    result = []

    for combination in itertools.combinations_with_replacement(list(Rome.keys()), num):
        sum_num=0
        for i in combination:
            sum_num+=Rome[i]

        if sum_num not in result:
            result.append(sum_num)

    return len(result)


print(diff_num(int(input())))

16936 - 나3곱2

16936 - 나3곱2

나3곱2 게임의 결과 수열A의 순서를 섞은 수열B가 입력으로 들어올 때 수열A 구하기

입력받은 수열B를 순서대로 0번 index를 수열A의 시작으로 가정하고 계산, 다음 index를 시작으로 가정하는 방식의 반복문을 사용했다.
나3곱2의 조건에 맞는 값이 수열B에 존재할 때 수열A 리스트에 저장한다.
반복이 끝났을 때 수열A의 길이가 수열B와 같다면 출력하도록 구현했다.

n=int(input())

pb=list(map(int,input().split()))

for start_num in pb:
    result=[start_num]
    for _ in range(n-1):
        if start_num%3==0 and start_num//3 in pb:
            start_num//=3
            result.append(start_num)
        elif start_num*2 in pb:
            start_num*=2
            result.append(start_num)

    if len(result)==n:
        break

print(' '.join(map(str,result)))

0개의 댓글