728x90 Programming Languages190 matplotlib.pyplot 그래프 처음 시작하기 포스트 난이도: HOO_Junior*해당 포스트는 2022년 11월 20일 포스트를 업데이트했습니다. # matplotlib.pyplot 2022년 당시에 matplotlib는 통계 데이터를 그래픽으로 시각화할 수 있는 라이브러리이었고 지금도 변함없이 나에게 있어 국밥 같은 가장 핵심적이고 뼈대가 되는 라이브러리이다. 다만 이전에는 나만의 주니어 개발자 (AI)가 없었기에 기본 틀을 작성해 두고 수치나 일부 값을 바꾸는 정도를 했다면 이제는 과감하게 AI를 통해서 매번 달리 시각화를 만들어줄 수 있다는 점에서 matplotlib 활용도나 사용빈도가 더 많이 늘어난 것 같다. 이전에는 내가 다이어그램과 flow charts도 matplotlib을 통해서 만들었다면 이제는 내가 AI한테 시켜서 AI가 mat.. 2026. 4. 15. [파이썬 코딩 테스트] super() 함수에서 클래스 상속과 코드 재사용 포스트 난이도: HOO_Junior# super()파이썬에서 다른 클래스의 mehtods를 사용할 수 있게 해주는 함수가 바로 super()이다. 이러한 다른 클래스에서 정의된 걸 가져와 사용하는 걸 상속(Inheritance)이라고 부르며, 부모 또는 자식 클래스라고 나눠서 부르기도 하지만 핵심은 다른 클래스에 있는 걸 가져와서 사용할 수 있게 한다는 것이다. 여기서 super()를 사용하는 이유는 코드 중복을 방지해 주며, 다중 상속에 있어서도 충돌을 방지해 주는 역할을 한다. 한마디로 여러 번 반복해서 methods를 정의할 필요가 없어지고 상속 클래스가 하나가 아니라 여러 개일 때 어떤 mehtods를 먼저 시작해야 할지가 super()를 통해서 명확해진다. 어떤 게 부모이고 자식 클래스인지 아는.. 2026. 4. 2. [파이썬 코딩 테스트] 다차원 배열 (Multidimensional Arrays) 예제를 통해 완벽 이해하기 (feat. 리스트와 튜플) 포스트 난이도: HOO_Middle# Array = [][]Multidimensional arrys (다차원 배열)이 별도의 문제로 나올 가능성은 적지만, 문제를 풀기 위해서 알아둬야 하는 필수 요소인 건 확실하다. 왜냐하면 나 또한 최근 들어 많이 봤기 때문이다. 마치 고추장이 단일 메뉴로 나오지는 않지만 많은 한국 음식에 들어가는 필수 재료이듯이 파이썬 코딩 테스트에서도 다차원 배열을 기반으로 한 문제들이 많이 나오는 편이다. 그래서 다차원 배열에 대해서 알아둘 필요가 있는데, 언제나 그렇듯 파이썬에서 어떤 funcitons을 쓴다는 건 매우 간단한 일이다. (최근 들어 AI가 있기에 기억이 가물가물할 뿐)apartmentBuilding = [ ["Apt 101", "Apt 102", "Apt.. 2026. 3. 23. [파이썬 코딩 테스트] Private Methods 포스트 난이도: HOO_Junior# Private Methods이전 포스트에서 캡슐화에 대해서 살펴봤고 Private 매개변수에 대해서 사용하는 방법에 대해서도 알아보았다. 이번 포스트에서는 캡슐화에서 Private mehtods를 사용하는 방법에 대해서 살펴보도록 하자. 캡슐화 안 기능들에 해당하는 private methods는 코딩 테스트에서 단일 문제로 나올 경우는 흔치 않다. 다만 private methods을 써야지 가산점을 받을 수 있는 요소에 해당될 가능성이 높다. 그 이유인즉슨, priavte methods을 포함해서 parameters까지 굳이 사용하지 않고도 문제에서 요청하는 내용을 구성하고 산출하는 게 가능하기 때문이다. 결과 위주의 평가만이 가능하다 보니, 실질적으로 private.. 2026. 3. 11. [파이썬 코딩테스트] 캡슐화 (encapsulation)에서 private methods 사용하기 포스트 난이도: HOO_Middle# Private Methods거두절미하고 general coding test에서 이것만 별도로 나오지는 않는다. 그리고 캡슐화 (encapsulation)은 쓸 줄 알아야 private, public parameters를 설정할 수 있지만 private methods까지 나온 적은 없었다. 한마디로 private methods를 사용할 줄 몰라도 당장 코딩테스트를 보는데 큰 문제는 없지만 알아두면 보다 더 효율적이고 빠르게 문제를 풀어낼 수는 있다. 쉽게 말해서 문제를 푸는데 지름길을 안다면 당연히 다른 사람보다 빠르지 않겠는가. 물론 실무에서는 당. 연. 히 알고 있어야 한다.class SmartFridge: def __init__(self, temperatur.. 2026. 3. 2. [파이썬 코딩 테스트] 캡슐화 (Encapsulation) 포스트 난이도: HOO_Junior# Encapsulation and Private이번 포스트에서는 캡슐화와 그 안에 선언되는 매개변수를 Private로 선언하는 방법에 대해서 살펴볼 수 있다. 특별히 새로운 functions을 배운다기보다는 특성에 가까운 내용이다 보니 어렵지 않게 이해가 가능하다. 일반적으로 아래 예제코드처럼 캡슐화를 물어보는 코딩테스트가 별도로 나오지는 않지만 알아두면 활용할 수 있다는 점에서 이해하고 가는 것이 좋다.class MusicPlayer: def __init__(self): self.__volume = 50 def increase_volume(self): # Aumenta 10, mas o limite máximo é 100 .. 2026. 2. 28. [파이썬 코딩 테스트] 데이터 구조 파악하고 변환하기 포스트 난이도: HOO_Junior# 재고량에 대한 통계 분석하기사실 코딩 테스트를 보면 기본적인 문법이나 Funcitons들에 대한 추론 능력을 확인하고 그 뒤부터는 사실상 퍼즐처럼 여러 개가 조합된 유형의 문제가 많이 나오는 편이다. 한마디로 문제를 읽고 알고 있는 지식을 기반으로 구조를 파악할 수 있는지를 평가하는 셈이다. 이번 포스트에서 나올 예제코드도 재고량에 대한 통계 분석이지만 구체적으로 요구되는 지식은 데이터 구조를 파악하고 이에 맞게끔 데이터를 변환해서 결과를 산출할 수 있는지를 확인하기 위한 것이다.class LibraryManager: def __init__(self): self.inventory = {} def add_book(self, book_id: str.. 2026. 2. 19. [파이썬 코딩 테스트] 재고 관리와 Dictionary 포스트 난이도: HOO_Junior# 재고 관리 예제를 통한 Dictionary (딕셔너리) 사용법아래의 예제코드는 재고 관리를 하는 상황을 통해서 Dictionary (딕셔너리) 사용방법과 선언된 클래스를 import 해서 가져와 사용하는 방법을 대해서 살펴볼 수 있다. 해당 문제의 유형이 나오는 이유는 데이터 처리에 대한 추론 능력을 살펴보기 위해서이다. class InventoryManager: def __init__(self): self.inventory = {} def add_product(self, product_id: str, name: str, quantity: int) -> bool: if product_id in self.inventory: .. 2026. 2. 16. [파이썬 코딩 테스트] default 포스트 난이도: HOO_Junior# default 설정하기파이썬의 좋은 점 중에 하나는 컴파일 과정에서 입력이 안되어 있어도 자동으로 채우거나 생략된 부분은 기본, 즉 default 값으로 출력이 된다는 점이다. 그래서 코딩 테스트에서 default를 설정하고 사용할 수 있는지 확인하는 문제가 나오기도 한다. Parameters (매개변수)에 default를 설정하기 위해서는 def () 안에 매개변수 선언과 동시에 입력해서 설정하면 된다. 다른 언어에서는 default 설정을 이렇게 안 하다 보니 자연스럽게 손이 잘 안 갈 수도 있지만 (왜냐면 에러 날까 봐) 걱정 말고 설정해 주면 된다. 추가적으로 default를 사용하고 싶은 경우 해당 매개변수 자리에 아무것도 입력하지 않아도 된다. 쉼표도 필요.. 2026. 2. 15. [파이썬 코딩 테스트] Tuple and Repeat 포스트 난이도: HOO_Junior# Tuple (튜플)에 배열 추가하기파이썬에서 튜플을 이해하고 있는지 확인하기 위해서 튜플의 새로운 elements (요소), 즉 배열을 추가해서 요소를 넣는 테스트를 내기도 한다. 튜플에 새로운 요소를 추가하기 위해서는 (새로운 요소, )를 통해서 기존 튜플에 더할 수 있으며, 배열에서 요소가 추가 되는 건 기능에서 repeat 즉 반복에 해당하기 때문에 repeat에 대한 parameters (매개변수)도 정의해 주면 된다.class TupleManipulator: def append_element(self, existing_tuple, new_element, repeat): # Multiply the single-element tuple by t.. 2026. 2. 15. [파이썬 코딩 테스트] boolean 포스트 난이도: HOO_Junior# if 조건문으로 boolean 결과 산출하기파이썬 boolean을 참, 거짓 두 개의 결과를 산출할 수 있다. 여기서 포인트는 참과 거짓이라는 것보다 두 가지의 결과로 과정이 나눠진다는 점이다. 따라서 참과 거짓의 조건은 개발자가 지정을 하면 되고 코딩의 프로세스가 분기된다는 점이 중요한 포인트이다. 그렇다 보니, boolean을 제대로 알고 있나를 검증하기 위한 테스트로 boolean과 if문 활용해서 출력되는 결과를 달리 나타내게끔 하는 문제가 나오기도 한다.class Vehicle: def __init__(self, model, fuel_type='electricity'): self.model = model self.fuel_typ.. 2026. 2. 14. [파이썬 코딩 테스트] 주사위 만들기 포스트 난이도: HOO_Junior# from random import randint주사위 문제는 랜덤 함수를 제대로 사용할 수 있는지를 평가하고 이에 대한 정의를 제대로 할 수 있는 보려는 기초 문제 중 하나이다. 그래서 6개의 숫자이든 20면체이든 상관없이 랜덤 함수만 잘 정의하고 사용할 수 있다면 쉽게 문제를 풀 수 있다.from random import randintclass Dice: def __init__(self, sides=6): self.sides = sides def roll(self): return randint(1, self.sides)my_dice = Dice()result = my_dice.roll()print(f" Dice sides:{my_.. 2026. 2. 13. [파이썬 코딩 테스트] 직사각형 넓이 구하기 포스트 난이도: HOO_Junior# 연산자 추론 능력 평가코테라고 부르는 코딩 테스트가 결과를 만들어낼 수 있는지 확인하는 트렌드에서 추론과 응용력을 평가하는 트렌드로 바뀌었다. 아무래도 AI가 코드 작성을 더 잘하기 때문에 만들려고 하는 결과를 어떻게 구성해야 하는지를 더 보려고 하는 것 같다. 한마디로 프로그래머보다 기획이 가능한 개발자를 원하고 있는 셈이다. 솔직히 나 또한 일일이 코드를 더 이상 작성하지 않는다. 주니어 개발자급의 AI가 기획에 대한 초안을 준다. 코테 자체가 사라지지는 않을 것 같다. 다만 코테의 방향성이 바뀌기 때문에 이점을 고려해서 준비를 하면 도움이 될 것이다.# 직사각형 넓이 구하기 예제우선 직사각형 또는 도형 넓이 구하기 코딩 문제는 거의 "Hello world" 급으.. 2026. 2. 12. [파이썬 코딩 테스트] 두자리 정수 분리하고 연산하기 포스트 난이도: HOO_Junior# AI가 있는데도 코딩 테스트를 해야 한다니우리가 코테라고 줄여서 부르는 코딩 테스트는 엔지니어이든 개발자이든 면접 때마다 피할 수 없는 기본 평가이다. 나의 주니어 개발자인 AI를 쓰다가 오랜만에 코테를 보려니 아주 짜증이 난다. 사람이란 동물은 적응의 동물이라고 이전에 손으로 일일이 치던걸 하려니 귀찮다. 아무튼 AI 중에서도 LLM이 점차 대중화되면서 개발자들은 AI를 잘 다룰 수 있어야함과 동시에 이 놈의 코테도 그대로 봐야 하는 지경에 이르렀다. 이번 포스트는 기초 문제로 나오는 정수 분리와 연산하는 예제를 가지고 왔다.# 의도를 파악하는 것이 중요하다.내가 코테를 안본지가 꽤 되다 보니, 트렌드를 잊어버려서일 수도 있겠지만, 내가 느끼는 코테 스타일의 변화가.. 2026. 2. 11. Keras, model.compile() - 파이썬에서 케라스 모델 컴파일이란 * 포스트 난이도: HOO_Middle* Python ver.1: July 28, 2022* Python ver.2: June 14, 2025 # Review CommentsHOOAI 블로그의 방향성은 "정보의 공유"이다. 그렇다 보니 처음부터 "브로"라고 불리는 지인, 구독자, 독자 등 다양한 사람들의 질문을 받거나 내가 궁금했었던 고민이 많았었던 내용을 중점적으로 포스팅을 하고 있다. 따라서 포스트 내용들을 보면 상당히 "뒤죽박죽"이란 걸 알 수 있다. 스타트업 CEO나 기업 CTO들이 관심 있어할 만한 데이터 트렌드 내용부터 이제 막 대학교에 가서 프로그래밍 언어의 입출력에 대해서 궁금해하는 내용 등 정말 다양한 종류의 퍼즐처럼 흩어져 있다. 내가 이렇게 서론을 길게 말한 이유는 해당 글도 오래전에.. 2025. 6. 14. [Python] 미국 회사 코딩 테스트 예제: Solve the Two-Sum Problem Using a Hash Map 포스트 난이도: HOO_Middle# Problem StatementGiven an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.Example: Input: nums = [2, 7, 11, 15], target = 9 Output: [0, 1]Explanation: Because nums[0.. 2025. 1. 27. [Python Examples] BeautifulSoup #01: 웹페이지 텍스트 크롤링 포스트 난이도: HOO_Junior# BeautifulSoupBeautifulSoup 패키지는 웹의 데이터를 가져오거나 크롤링, 즉 추출할 때 사용하는 패키지이다. 특히 HTML이나 XML에 특화되어 있다 보니 웹페이지와 관련해서 데이터를 가져오겠다고 한다면 자연스럽게 생각나는 간단한 방법 중 하나가 바로 BeautifulSoup이다. 정말 많이 사용하다보니 브로들도 파이썬을 배우기 시작한다면 대표적인 예제로 배울 확률이 높은 패키지 중 하나이다. MIT 라이선스이기 때문에 편하게 사용하면 된다.# Crawling, 추출이번 파이썬 예제코드에서는 가장 기본적인 웹페이지에서 텍스트를 크롤링하는 방법에 대해서 살펴보도록 하자. 이후에 class ID를 설정해줌으로써 html에 안에 있는 특정한 데이터나 키.. 2024. 12. 16. [Python] Dask: Parallel Computing 포스트 난이도: HOO_Middle# 당신의 파이썬은 더 이상 답답하지 않다.데이터를 다루는 프로그래밍을 할 때 우리는 파이썬 기반의 작업을 정말 많이 하는 편이다. 파이썬과 연관되어 있는 다양한 데이터 분석 관련 라이브러리가 있다는 점도 있지만 내 개인적인 생각에는 속도가 다소 느리더라도 복잡한 데이터 분석에 대한 구조를 이해하고 작업하는 데 있어서 파이썬 언어가 편하기 때문이다. 따라서 시뮬레이션이나 파일럿 모델을 구축하는 데 있어서 파이썬 기반으로 모델링을 많이 하는 편인데 문제는 해당 모델링의 구조나 사이즈가 점차적으로 커지고 복잡해진다면 아무리 시뮬레이션이라고 할지라도 답답해지고 제 역할을 못하게 된다. 이때 프로세스 (Process)라고 부르는 작업 스케줄링을 병렬 연산을 통해서 더 빠르게 처.. 2024. 7. 22. [Java Examples] 입력한 Integer에 따라서 정사각형 출력하기 예제코드 입력한 Integer에 따라서 정사각형 출력하기 예제코드 포스트 난이도: HOO_Junior # Example code import java.util.Scanner; /** * This class demonstrates a program that generates a square display of 'X' characters. * The size of the square (length of each side) is determined by user input, * constrained to a positive integer no greater than 15. */ public class SquareDisplay { /** * Main method that runs the program. It asks t.. 2024. 3. 31. [C++] Lexical Analyzer를 배우는 이유 Lexical Analyzer를 배우는 이유 포스트 난이도: HOO_Junior # Lexical Analyzer란? Lexcial analyzer 또는 한국말로 어휘 분석기는 Computer science (CS)를 전공하는 학생이거나 프로그래밍을 배운다면 오토마타 및 기본 컴퓨터 구조와 함께 배우는 첫 번째 단계의 Scanner(스캐너)이다. 첫 번째 단계의 스캐너라고 부르는 이유는 기계어에 해당하는 바이너리 컴파일까지 가기 위해서 여러 단계를 거치는데 그중에 대표적인 스캐너 방법 중 하나가 바로 Lexcial analyzer이기 때문이다. 한마디로 C++를 포함하여 여러 종류의 프로그래밍 언어들을 그대로 컴퓨터한테 전달할 수 없기 때문에 컴파일 또는 인터프리터로 변환하는 과정 중 첫 번째에 해당하는.. 2024. 3. 15. [Java Examples] Rectangle.java를 활용해서 집 크기 구하기 예제코드 및 설명 Rectangle.java를 활용해서 집 크기 구하기 예제코드 및 설명 포스트 난이도: HOO_Junior # Example Code public class Immutable_Rectangle { //Fields of the class rectangle final private double length; final private double width; //Getter methods(Accessor methods) public double getLength() { return length; } public double getWidth() { return width; } public double getArea() { return width * length; } //Constructor public Immu.. 2024. 3. 4. [Java Examples] Array Lists, 어레이 리스트 예제코드 및 설명 Array Lists, 어레이 리스트 예제코드 및 설명 포스트 난이도: HOO_Junior # Example Code import java.util.ArrayList; public class ArrayList_Practice { public static void main(String[] args) { ArrayList nameList = new ArrayList(); nameList.add("Amy"); nameList.add("Ryan"); nameList.add("Jin"); System.out.println("The array has " + nameList.size() + " names."); for(String s : nameList) System.out.println(s); System.out... 2024. 2. 21. [Java Examples] 다중 if문을 활용한 Troubleshooting 문제 해결 예제코드 및 설명 다중 if문을 활용한 Troubleshooting 문제 해결 예제코드 및 설명 포스트 난이도: HOO_Junior # Example Code import java.util.Scanner; /** * This class provides a step-by-step troubleshooting guide for fixing Wi-Fi connection issues. */ public class WifiTroubleshooter { // Scanner for user input private static final Scanner scanner = new Scanner(System.in); /** * The main method starts the troubleshooting process. * @param a.. 2024. 2. 14. [Java Examples] 숫자를 로마 숫자로 바꾸기 예제 코드 및 설명 숫자를 로마 숫자로 바꾸기 예제 코드 및 설명 포스트 난이도: HOO_Junior # Example Code /** * This class converts a user-inputted number into its Roman numeral equivalent. * It prompts the user until a number within the range of 1 to 90 is entered. */ import java.util.Scanner; // Import statement for java.util.Scanner public class RomanNumeralConverter { // Variable to store the user's input private int number; /** * Main.. 2024. 2. 14. [Java Examples] 자바 어레이를 사용해서 오름차순으로 출력하기 자바 어레이를 사용해서 오름차순으로 출력하기 포스트 난이도: HOO_Junior # Example Code import java.util.Arrays; import java.util.Scanner; /** * This class prompts the user to enter three names and then displays them sorted in ascending order. */ public class NameSorter { /** * The main method that initiates the program. * @param args Not used in this application. */ public static void main(String[] args) { // Create a sca.. 2024. 2. 14. [Java Examples] Method Overloading in Java Method Overloading in Java 포스트 난이도: HOO_Intern # Example Code public class ExMethodOverloading { // Overloaded method for adding two integers public int add(int num1, int num2) { return num1 + num2; } // Overloaded method for adding three integers public int add(int num1, int num2, int num3) { return num1 + num2 + num3; } // Overloaded method for adding two doubles public double add(double num1,.. 2024. 2. 12. [Java] 인텔리제이 다이어그램 메뉴가 안보일 때(IntelliJ UML Diagrams) 인텔리제이 다이어그램 메뉴가 안 보일 때(IntelliJ UML Diagrams) # IntelliJ IDEA Ultimate만 가능하다 인텔리제이 (IntelliJ)의 경우 플러그인 기능으로 UML 다이어그램을 자동으로 만들어 준다. 아래의 Figure 1 그림처럼 클래스나 패키지 자체에서 다이어그램을 생성할 수 있는 별도의 메뉴가 제공되고 있고 다이어그램에서 원하는 메서드나 변수들만을 설정해서 나타낼 수 있다. 다만 Intellij IDEA Ultimate가 아닌 Community로 제공되는 무료 버전을 사용 중이라면 다이어그램 기능은 제공되지 않는다. 많은 브로들이 다이어그램 플러그인을 못 찾아서 질문을 많이 하는데 IDEA 버전 자체가 다르면 아예 기능이 없다. 따라서 버전을 먼저 확인하고 해당 .. 2024. 2. 11. [Java Examples] 상자 용량, 면적 구하는 예제 및 설명 상자 용량, 면적 구하는 예제 및 설명 포스트 난이도: HOO_Intern # Example Code public class Rectangle { private double length; private double width; // Constructor public Rectangle(double len, double w) { length = len; width = w; } // Setter for length public void setLength(double len) { length = len; } // Setter for width public void setWidth(double w) { width = w; } // Getter for length public double getLength() { .. 2024. 2. 7. [Java Examples] 상자, 직사각형의 크기를 구하는 예제 및 설명 상자, 직사각형의 크기를 구하는 예제 및 설명 포스트 난이도: HOO_Intern # Example Code //Example1 public class Rectangle { private double length; private double width; public void setLength(double l) { length = l; } public double getLength() { return length; } public void setWidth(double w) { width = w; } public double getWidth() { return width; } public static void main(String[] args) { Rectangle rect = new Rectangle();.. 2024. 2. 5. [C++/Arduino] Ultrasonic Range Sensor 예제코드 및 설명 Ultrasonic Range Sensor 예제코드 및 설명 포스트 난이도: HOO_Junior # Example Code and Explainations 이번 포스트에서는 HC-SR04 Ultrasonic sensor에 대한 간단한 예제코드와 결과를 살펴볼 수 있다. HC-SR04는 Ultrasonic sensor, Ultrasonic range sensor 또는 Ultrasonic distance sensor라고 불리는 초음파 거리 센서이다. 밀리미터부터 센티미터까지 초음파로 거리 측정이 가능한 센서이고 금액도 저렴하다 보니 교육용이나 가벼운 디바이스 제작에 자주 활용되는 센서 중 하나이다. 해당 센서의 핀은 VCC, Trig, Echo, GND 등으로 이루어져 있기 때문에 사용하기에 매우 쉽다는 걸.. 2024. 1. 30. 이전 1 2 3 4 ··· 7 다음 728x90