전체 글 110

[boj 2109.python] 백준 '순회강연' 풀이 (파이썬 런타임에러(ValueError) 해결)

https://www.acmicpc.net/problem/2109문제 접근처음에 'd일 안에 와서 강연을 해 주면' 이 문장 때문에 문제 이해에 약간 시간을 썼다. 나와 비슷한 처지(?)에 있으신 분들에게 이해가 쉽도록 예시를 들어드리자면 .. 3개의 대학에서 아래와 같은 조건으로 강연 요청을 해 온 상황이라고 가정 해보자.  최대로 많은 금액의 강연료를 벌 수 있도록 강연 일정을 최적화할 수 있게 그리디 알고리즘으로 접근했다. 주요 로직은 아래와 같다. 1. 강연료가 비싼 순서대로 (p가 큰 순서대로) 정렬한다. 가장 높은 보상을 우선으로 배정하기 위함이다.2. 위에서 정렬한 것을 기반으로, 가장 큰 강연료를 주는 요청부터 가능한 날짜(d)에 배정한다.3. 배정 기준은, 날짜를 거꾸로 탐색해서 가장 가..

Algorithm/BaekJoon 2024.12.20

[Python] Python3와 PyPy3의 차이

알고리즘 문제를 풀다 똑같은 코드인데도 Python3로 제출했을 때는 2832ms가 걸리던 것이, PyPy3로 제출했을 땐 472ms가 걸린 것을 본 나 ..똑같은 파이썬 언어인데 왜 저렇게 시간복잡도에서 미친 효율을 보이는걸까? 🤔 Python3와 PyPy3의 차이파이썬은 쉽고 직관적인 문법 덕분에 사용하기 쉬운 언어로 잘 알려져 있다. 덕분에 최근 몇 년동안 꾸준한 상승세를 보여왔고, 대표적인 프로그래밍 언어인 C와 Java의 점유율을 끈질기게 추격해왔다. 언어별 인기도 지수를 나타내는 티오베 지수에 따르면 지난 2021년 10월에는 파이썬이 결국 이 둘을 앞지르고 1위에 등극했다.하지만 파이썬은 속도가 느린 언어라고 평가받기도 한다. 이를 해결하기 위해 다양한 시도를 해왔고, 이 과정에서 등장한 ..

[boj 2164.python] '카드2' 풀이 (시간초과 해결)

https://www.acmicpc.net/problem/2164접근 방식처음에 문제 읽자 마자, 쉬운 구현 문제라고 생각하고 냅다 단순 리스트로 풀어버렸다. 1차 코드 (리스트 사용) 👉 실패 ❌N = int(input())# 카드 리스트 생성card = [i + 1 for i in range(N)]# 카드 섞기def card_mix(): while len(card) > 1: # 카드가 한 장 남을 때까지 반복 # 제일 위에 있는 카드 바닥에 버림 card.pop(0) # 그 다음 위에 있는 카드는 제일 아래에 있는 카드 밑으로 옮김 card.append(card[0]) card.pop(0) print(card[0])card..

Algorithm/BaekJoon 2024.12.18

[Python] zip과 dict로 리스트 2개 딕셔너리로 매핑하기 (feat. for문 탈출)

들어가며파이썬의 swapcase 메서드에 이어.. 알고리즘 문제를 풀다 얼떨결에 알게 된 zip 메서드, 이건 모두 알아야해!!!!!! 마음으로 포스팅해보려고 한다.솔직히 이거 찾고 이굥진 인생 한정 2024 올해의 발견상 주고 싶었다. 예제여기 같은 길이의 리스트 2개가 있다고 가정해보자. 이 리스트는 4명의 이름에 대한 리스트와, 그 이름에 맞는 점수 리스트다. name = ["karina", "winter", "ningning", "zizel"]score = [5, 10, 1, 3] 이 두 리스트를, 한 개의 딕셔너리로 매핑하려고 한다.평소의 나는 for문으로 매핑하는 방법을 선택해서이렇게 하거나,혹은이렇게 했을 것. 이런 약 3줄의 코드를 zip, dict 메서드를 쓰면 단 한 줄로 줄일 수 있다..

[programmers lv.2 python] '석유 시추' 파이썬 풀이 (이제 시간초과를 곁들인 ..)

https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 제한 사항문제 접근 bfs를 통해 석유가 있는 땅인 land[i][j]가 1인 부분을 찾으면, 그 주변의 기름 양을 상하좌우로 탐색해 1로 이어져있는 칸의 개수를 전부 찾아 count에 저장하는 방법으로 접근해봤다. 1차 코드 👉 실패 ❌from collections import dequedef solution(land): n = len(land) m = len(land[0]) visited = [[False] * m f..

[프로젝트] Windows 환경에서 JMeter 설치 및 부하 테스트 하기

부하 테스트를 위해 JMeter 설치가 필요했던 나 ,, 윈도우에서 JMeter 설치를 비롯해 테스트를 해야 하는 분들이 이 포스팅 하나만 읽어도 쉽게 가능했으면 하는 마음으로 포스팅한다. 설치1. JMeter를 아래 링크에 가서 설치해주자.https://jmeter.apache.org/ Apache JMeter - Apache JMeter™Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing ..

[프로젝트] QueryDSL 사용 시 페이징 응답 JSON 데이터 최적화 하기

문제 상황spring 3.3.4 버전, QueryDSL로 검색 기능을 구현하다, API 테스트 과정에서 처음 보는 WARN 로그를 발견했다.2024-10-06T20:38:53.327+09:00 WARN 36852 --- [user-service] [io-19093-exec-1] ration$PageModule$WarningLoggingModifier : Serializing PageImpl instances as-is is not supported, meaning that there is no guarantee about the stability of the resulting JSON structure!For a stable JSON structure, please use Spring Data's Pa..