전체 글

이번 포스팅은 https://www.acmicpc.net/problem/2751에서 푼 것을 토대로 작성했습니다. | 문제 수 정렬하기 2 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 4 3 2 1 예제 출력 1 1 2 3 4 5 문제 해석 한 줄씩 입력 오름차순 정렬 후 한 줄씩 출력 | 풀이 1 - 시간 초과 python 코드) n = int(input())..
이번 포스팅은 코딩 테스트를 준비하며 공부했던 파이썬의 리스트에 대한 내용입니다. | List - 파이썬의 리스트는 항상 써왔지만 자세하게 알고 쓰는 게 아닌 집합으로 그냥 써왔던 것 같습니다. 하지만 코딩 테스트를 준비하며 리스트에 대해 자세히 정리해보고자 합니다. - 리스트는 말 그대로 순서대로 저장하는 시퀀스이며 mutable 한 자료형입니다. 입력 순서가 유지되며 내부적으로는 동적 배열로 유지되어 있는데 C++의 std::vector나 java의 ArrayList와 같은 자료형입니다. - 파이썬을 조금 더 파이썬스럽게 만들어주는 리스트 자료형은 다양한 기능들을 제공합니다. 특히 코딩 테스트에서 스택과 큐 사용에서 고민을 하지 않아도 되며 스택, 큐에서 사용하는 연산들을 모두 리스트에서 사용할 수 ..
· Project
제가 머신 비전 회사에서 학습을 하면서 가장 큰 고민 중 하나는 데이터 양이 많지 않다는 점이었습니다. ok이미지에 비해 ng이미지가 현격히 적은 현상이 있었고 그때마다 opencv나 keras를 이용하여 데이터 증강을 했습니다. 이런 불편함을 해결하고자 이번 프로젝트는 PyQt5로 UI를 이용한 데이터 증강 툴을 만들어 보려고 합니다. 이번에는 UI 제작 - 기능 구현 - 실행 파일 배포 과정으로 구현했습니다. GOAL - PyQt5를 사용한 UI 제작 및 기능 구현 - keras ImageGenerator와 UI를 연결하고 데이터 증강 구현 - 완성된 프로그램을 exe 파일로 만들어 배포 Data Augmentation - 학습을 하고 모델의 결과를 좋게 나오게 하는데 어떤 것이 중요한가?라고 물으면..
이번 포스팅은 딥러닝 모델을 공부하면서 나왔던 super() 메서드에 대한 것을 정리했습니다. super()를 사용하기 전 클래스나 상속, 오버라이딩에 대해 알고 있어야 이해가 조금 더 쉽습니다! 여기로 들어가 가볍게 보시는 것을 추천드립니다! | 부모 클래스의 인스턴스 속성 사용 - 먼저 super()를 사용하지 않고 부모 클래스를 상속받아 인스턴스 속성을 사용해보겠습니다. | 코드 - 먼저 Parent 클래스의 parentHi 속성이 있고 Parent를 상속받아 만든 Child 클래스 안에는 childHi속성이 있습니다. class Parent(): def __init__(self): print("Parent init") self.parentHi = "부모 클래스" class Child(Parent)..
· Project
제가 머신 비전 회사에서 학습을 하면서 가장 큰 고민 중 하나는 데이터 양이 많지 않다는 점이었습니다. ok이미지에 비해 ng이미지가 현격히 적은 현상이 있었고 그때마다 opencv나 keras를 이용하여 데이터 증강을 했습니다. 이런 불편함을 해결하고자 이번 프로젝트는 PyQt5로 UI를 이용한 데이터 증강 툴을 만들어 보려고 합니다. 이번에는 UI 제작 - 기능 구현 - 실행 파일 배포 과정으로 구현했습니다. GOAL - PyQt5를 사용한 UI 제작 및 기능 구현 - keras ImageGenerator와 UI를 연결하고 데이터 증강 구현 - 완성된 프로그램을 exe 파일로 만들어 배포 PyQt5 - PyQt5는 Qt를 파이썬 버전의 프레임워크입니다. Python에는 기본으로 내장되어 있는 tkin..
이번 포스팅은 os.path 모듈을 사용하면서 더 공부했던 내용을 정리했습니다. | os.path 모듈 - 파이썬에서는 경로를 나타낼 때 문자열을 사용해 나타낼 수 있습니다. os.path 모듈은 경로를 생성하고 다루는 데 있어 문자열을 사용하는 메서드를 많이 제공합니다. os.path에서 가장 많이 사용되는 split, basename, dirname에 대해 예시 코드와 함께 알아보겠습니다. 1.) 마지막 디렉터리와 상위 디렉터리 경로를 나누는 os.path.split | 디렉터리 구성 | 코드 import os cur_dir = os.getcwd() print(cur_dir) split_dir = os.path.split(cur_dir) print(split_dir) >> C:\Users\jswoo\..
이번 포스팅은 파이썬의 os 모듈을 사용하면서 알아갔던 내용을 정리했습니다 | os 모듈 - os 모듈은 파이썬에서 가장 많이 사용되는 모듈 중 하나입니다. 로우 레벨의 os 시스템을 처리하며 여러 os에서 인터페이스를 일관되게 제공하는 것이 특징입니다. 물론 특정 os에서만 구동 가능한 기능도 있습니다. 하지만 이런 기능은 애플리케이션을 만들 때 os 포팅이 없을 경우에만 사용해야 합니다! os 모듈의 유용한 매서드를 예시를 통해 알아보겠습니다. 1.) 디렉터리 목록을 보여주는 os.listdir() - os.listdir()은 디렉터리의 목록을 확인하기 위해 사용합니다. | 디렉터리 구성 | 코드 import os path = './dir' print(os.listdir(path)) print(typ..
앞서 작성한 포스트는 파이썬에서 with을 어떻게 사용하는지 작성했습니다. 이번 포스팅은 with 구문에 사용할 수 있는 객체의 타입인 Context Manager를 정리한 글입니다. | Context Manager란? https://peps.python.org/pep-0343/#context-managers-in-the-standard-library - python document에 설명되어 있는 context manager입니다. __enter__() 메서드 및 __exit__() 메서드를 정의하여 with 문에 표시되는 환경을 제어하는 개체라고 설명되어 있으며 자세한 내용은 첨부된 링크를 확인해보세요! - __enter__과 __exit__ 는 클래스의 __init__ 같은 특정한 기능을 사용하기 ..
우준세
준세 단칸방