프로그래밍(14)
-
[백트래킹, 백준] N과 M (1), (2) <중복을 허용하지 않는 순열, 조합>
N과 M - 1, 2의 차이 1번에서는 중복을 허용하지 않는 순열, 2번에서는 조합을 뽑는 문제이다. 1번에서는 단순히, 중복에 대해 체크하는 1차원 리스트를 만들어 플래그로 활용하면서, 재귀적으로 호출하면 쉽게 해결할 수 있다. n, m = map(int, input().split()) arr = [i + 1 for i in range(n)] selected = [False] * n result = [] def permutation(m): if m == 0 : print(*result) return for idx in range(n): if not selected[idx] : selected[idx] = True result.append(arr[idx]) permutation(m - 1) result...
2023.09.03 -
[파이썬, python] Argparse 기본 사용 예시
특정 AI 대회에서 간혹 Jupyter Notebook 형식이 아닌, Script 형식으로 baseline 코드가 주어진 경우가 종종 있어왔고, 주먹구구식으로 돌리다가 한번 정리를 하게 되었다. 보통, Argparse를 사용하여 스크립트 실행 시 인자를 전달한다. 이게, 처음 접하면 약간은 익숙하지 않아서 복잡하게 느껴진다. 기본 사용 예 # argparse1.py import argparse def main(args): print(f"Hello, {args.name}!") if __name__ == "__main__": parser = argparse.ArgumentParser(description="인사를 받을 대상을 입력하세요.") parser.add_argument("--name", default..
2023.09.02 -
[백트래킹, 코드트리] 아름다운 수
내 코드 - 일부 케이스를 잡아내지 못했음. n = int(input()) # 1 ~ 4 의 수로, 그 중 연달아 같은 수가 나오는 숫자 - 아름다운 수 # 동일한 숫자에 대해 정확히 해당 숫자만큼 연달아 같은 묶음 (111 : 1이 1번 - 3번 / 222222222 : 2가 2번이 4번) # 1 이 1번, 2가 2번, 3이 3번 (단일 연속) # 222의 경우 22 / 21 이라서 아름다운 수가 아님...! (2가 3번 나오면 안되고, 정확히 2번 나와야 함으로 인지) # out : n자리의 아름다운 수가 몇 개인지 ? # Step 1 : n 자리의 1 ~ 4로 꾸려진 수를 먼저 출력해야 함. # Step 2 : 각 수들에 대한 아름다운 수 여부를 검사 answer = [] beautiful_num_..
2023.08.15 -
[강의리뷰] 코딩 레벨원 : MBTI 테스트 만들며 배우는 왕초보 코딩 (패스트캠퍼스)
3줄 요약 : 1. HTML, CSS, javascript에 대해 입문하여, 프론트엔드에 대한 구조를 맛볼 수 있다. 2. 배포를 하여, 실제 웹에서 서비스 페이지가 어떻게 작동하는지 알 수 있다. 3. 클론코딩을 하여, 뭔가 하나 그럴싸하게 만들어 볼 수 있다. 개요 레벨원 강의라서, 아마 구매를 할 필요는 없다. (검색을 해 보니 30일 무료 이런식으로 수강이 가능하더라. 원가는 99,000원) 필자는, 패스트캠퍼스 측에서 일정 기간동안 제공을 해주어서 (결론적으로는 그게 그건가 싶기도하다.) 하루만에 뭔가 해볼 수 있을만한게 없을까? 와 현재 내가 본격적으로 해보지 못한 것(웹개발(프엔, 백엔)에 대한 맛보기에 대한 욕구가 있어, 이 두개를 충족할 수 있는 것이 위 강의라고 판단해서, 시간도 얼마 ..
2023.03.03 -
[Troubleshooting, debugging] UnboundLocalError: local variable 'VarName' referenced before assignment 에러
0. 클론코딩을 진행하며 Unittest를 진행하다보니, 위 에러가 뜬 것을 확인하였다. 대충 에러 메시지에서 파악한 것으로는, 지역변수를 (반환값으로) 사용/호출하려면 그전에 한번 할당 혹은 초기화를 해줘야 하는데, 그 부분이 안되었다는 뜻이다. 1. 내가 짠 코드가 아니다보니, 참고하였던 코드와 함수단위로 1:1 비교를 진행하였고, 이를 통해서는 찾지 못하였다. 👀 (눈빠지는줄 알았다. 연습용 코드가 아니라 실제 서비스 구현을 위한 코드다 보니...) 2. 교재에 참고코드에 대한 github reference 주소가 존재하였고, unittest단의 기능코드와, 실제 기능코드를 차례대로 복사/붙여넣기 및 중복방지를 위한 제거/숨기기를 통해 체크해보았으며, unittest가 아닌 실제 기능코드를 대체 붙..
2023.02.21 -
MAC VSCode 터미널 폰트 아이콘 깨짐 현상 해결방법
최근 OS X에서 개발 도중, 특정 노트북에서 사용하지도 않은 램이 과도하게 점유하는 문제를 확인하여, VSCode를 재설치하게 되었다. 다른 Extensions들은 키워드 검색을 통해서 손쉽게 설치가 가능하지만, 폰트의 경우 자동으로 적용되는 것이 아니라서 조금 더 손이 간다. 필자의 경우, iterms의 zsh 설정으로 여러 아이콘들 또한 보이게 셋팅이 되어있었던 터라, Code를 재설치하니 기본 폰트인 monospace가 적용되어 아이콘들이 깨지는 현상이 아래와 같이 발생하였다. 해결 방법은 간단하다. 1. iterms 상단 바 - iterm2- Settings - Profiles - Text 내의 Font란에서 서체를 확인 필자의 경우, MesloLGS NF의 서체를 통해서 한글과 특수문자/아이콘..
2023.02.17