| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- java
- 자바
- 2026 AWS SAA-C03
- stop the world
- 코딩테스트
- 플랫폼 클래스 로더
- Spring
- 파이썬 리스트 메서드
- aws saa-c03
- 객체지향
- getreference
- python list method
- 알고리즘
- 파이썬
- 부트스트랩 클래스 로더
- 자료구조
- 스프링 컨테이너
- BFS
- dfs
- 심볼릭 레퍼런스
- python
- 백준
- AWS SAA-C03 합격후기
- 스프링
- 딕셔너리
- 어플리케이션 클래스 로더
- 파이썬 문자열 메서드
- 클래스 로더 계층
- 컴포넌트 스캔
- 다이렉트 레퍼런스
- Today
- Total
목록2024/01 (5)
클라우드 낚시꾼
파이썬의 리스트는 다양한 연산과 메서드를 제공한다. 그중 하나가 리스트 곱 연산이다. 먼저 아래의 코드를 살펴보자. test = [['*'] * 4] print(test) # ?? 위 코드의 결과는 뭘까? 답(클릭해주세요!) [['*', '*', '*', '*']] 필자는 답을 [['*'], ['*'], ['*'], ['*']]로 생각했다. 리스트 곱셉을 하면 같은 리스트가 4개 생성된다고 생각했기 때문이다. 리스트를 곱하면 해당 리스트의 원소들이 그 정수만큼 반복되어 새로운 리스트가 생성된다. 꼭 명심하자!
핵심: 튜플 or 리스트를 문자열로 변환하고 싶다면 join 메서드를 사용하자! 문자열의 메서드인 join 함수는 iterable 객체 요소(튜플, 리스트)를 구분자를 이용하여 하나의 문자열로 결합시킬 수 있다. 예제를 보자. chars = ['a','b','c'] # 구분자가 없는 경우 -> ''.join(리스트 or 튜플) test1 = ''.join(chars) print(f"test1: {test1}") # test1: abc # 구분자가 있는 경우 -> '구분자'.join(리스트 or 튜플) test2 = ', '.join(chars) print(f"test2: {test2}") # test2: a, b, c 문자열의 join 메서드는 크게 두 가지 형태로 나뉜다. 1. 구분자가 없는 경우 ->..
파이썬 주어진 데이터의 타입을 판별하는데는 다양한 방법이 있다. 가장 일반적인 방법 3가지를 알아보자. type() 함수를 이용해 타입 확인하기 num = 42 print(type(num)) # num_float = 3.14 print(type(num_float)) # isinstance(확인하려는 데이터, 타입 or 타입 튜플)를 활용 y = 3 if isinstance(y, int): print("integer") else: print("float") # here string = "hello!" if isinstance(string, (int,str,list)): print("match") # here else: print("no-match") int()를 이용해 정수 판별하기 x = 3 if x =..
코딩 테스트란 무엇인가 - 코딩 테스트는 누가 실시하는가? 아마 필자를 포함한 개발자 꿈나무들이 "어디에서 일하고 싶어요?"라는 질문을 들으면, 대부분 "네카라쿠배요!"라고 답할 것이다. 보통의 기업들은 스펙, 면접 등으로 유능한 인재를 선별한다. 하지만, IT 대기업은 조금은 생소한 방식으로 유능한 인재를 선별하는데 그것이 바로 알고리즘 코딩 테스트다. - 코딩 테스트를 왜 실시할까? 코딩 테스트는 여러 가지 환경, 변수를 다 배제하고 문제를 해결하는 능력 자체를 평가하기 위해 실시한다. 기업 입장에서도 실무 환경에서 직접 프로그램을 개발하는 능력을 평가하고 싶을 것이다. 하지만, 그 환경이 회사마다, 사람마다 천차 만별이기 때문에 정확한 개발 능력을 평가하기 쉽지 않다. 코딩 테스트 공부법 코딩 테스..
문제 해결 과정 이 문제는 단순 BFS 문제였고, 인접 정점을 내림차순으로 정렬하는 조건이 중요했다. 문제가 쉬움에도 불구하고 나는 계속 답은 맞는데 시간 초과 문제가 발생했다. 그 이유는 아래와 같다. 시간 초과가 발생했던 이유 원래 필자는 그래프에 정보를 추가하면서 인접 정점을 정렬하였다. 그래서 정렬 과정이 2번 일어났고 이것이 시간 초과가 발생했던 주된 이유였다. 시간 초과 문제를 해결하기 위해 기존의 정렬 코드를 없애고 그래프 정렬을 위한 for문을 작성하여 정렬과정을 수행했다. 그 결과 정렬 코드의 시간 복잡도가 O(2n)에서 O(n)으로 감소하였다. 전체 코드 import sys from collections import deque input = sys.stdin.readline m,n,r ..