전체 글 83

[백준 2578번] 빙고 - python

https://www.acmicpc.net/problem/2578📌 문제 탐색하기목표빙고 게임 만들어서 선이 세 개 이상 그어지게 만드는 수 출력하기빙고는 가로, 세로, 대각선을 취급한다.입력값첫 줄부터 총 다섯 줄까지 빙고판에 써질 숫자가 주어진다. 1~25까지의 수가 하나씩 입력된다.사회자가 부르는 수가 여섯째 줄부터 열째 줄까지 주어진다. 마찬가지로 1~25까지의 수가 하나씩 입력된다.ex)11 12 2 24 10 16 1 13 3 25 6 20 5 21 17 19 4 8 14 9 22 15 7 23 18 5 10 7 16 2 4 22 8 17 13 3 18 1 6 25 12 19 23 14 21 11 24 9 20 15출력값철수가 “빙고”를 외치게 되는 숫자를 출력한다. 빙고는 가로, 세로, 대..

개발/python 2025.08.18

[알고리즘] 버블 정렬

버블 소트는 인접한 두 원소를 비교해가며 더 큰 값을 한 쪽 끝으로 밀어 올리는 정렬 알고리즘이다. 가장 단순하고 직관적인 알고리즘이라 정렬의 기본 개념을 이해하는 데 매우 유용하다. 마치 큰 거품이 물 위로 차례로 떠오르는 모습과 같다며 해당 이름이 붙었다.정렬 과정 (오름차순)한 번 순회할 때 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를 등 계속 마지막 바로 전 원소와 마지막 원소와 비교하여 가장 큰 값을 오른쪽 끝으로 이동한다.한 번 순회할 때 생긴 오른쪽 끝의 가장 큰 값은 고정되어 다시 비교할 필요가 없다.정렬이 완료될 때까지 반복한다.파이썬 코드def bubble_sort(arr): n = len(arr) for i in range (n): for ..

카테고리 없음 2025.08.17

[백준 7568번] 덩치 - python

https://www.acmicpc.net/problem/7568📌 문제 탐색하기목표몸무게와 키를 비교하여 덩치 등수 매기기몸무게와 키 모두가 커야지 등수가 더 높다.입력값첫 줄에는 전체 사람의 수 N이 입력된다. (2 ≤ N ≤ 50)N개의 줄에 각 사람의 몸무게와 키가 양의 정수로 공백을 두고 주어진다. (10 ≤ x, y ≤ 200)ex)5 55 185 58 183 88 186 60 175 46 155출력값나열된 사람의 덩치 등수를 구해서 입력된 순서대로 등수를 한 줄로 출력한다.ex)2 2 1 2 5📌 코드 설계하기해결 아이디어입력을 받으면서 비교를 해야할까 먼저 고민을 했다. 근데 입력을 받으면서 비교하려면 처음 입력된 사람의 키 몸무게는 비교할 대상이 없어서 나중에 다시 비교를 하려면 계산..

개발/python 2025.08.17

[백준 2947번] 나무 조각 - python

https://www.acmicpc.net/problem/2947📌 문제 탐색하기목표나무 조각 5개를 앞에서 부터 하나씩 바꿔가며 정렬하기두 개의 나무 조각에 써져있는 수를 비교하며 앞 조각의 수가 뒷 조각의 수보다 크면 위치를 바꾼다.입력값1, 2, 3, 4, 5 숫자가 랜덤으로 배치되어 한 줄에 입력된다.ex) 2 1 5 3 4출력값두 조각의 순서가 바뀔 때마다 조각의 순서를 출력한다.ex)1 2 5 3 4 1 2 3 5 4 1 2 3 4 5📌 코드 설계하기해결 아이디어차근차근 수를 비교하며 정렬을 한다.완료된 정렬 결과와 실제 정렬 결과와 비교를 한 후 일치하지 않으면 다시 처음부터 비교하며 정렬을 진행한다.📌 정답 코드block = list(map(int, input().split()))wh..

개발/python 2025.08.16

[백준 25305번] 커트라인 - python

https://www.acmicpc.net/problem/25305📌 문제 탐색하기목표n명의 응시자 점수 중 상위 k명을 선별상을 받을 사람 중 가장 낮은 점수(커트라인)을 출력입력값응시자의 N(1 ≤ N ≤ 1000), 상 받는 사람의 수 k(1 ≤ k ≤ N)각 학생의 점수 $x$ (0 ≤ $x$ ≤ 10000)한 줄에 공백을 주고 주어짐.출력값상을 받는 커트라인 점수📌 코드 설계하기해결 아이디어점수 리스트를 내림차순으로 정렬k-1번 인덱스를 가진 점수 출력📌 정답 코드n, k = map(int, input().split())arr = list(map(int, input().split()))[:n]arr.sort(reverse=True)# print(arr)print(arr[k-1])시간 복잡도..

개발/python 2025.08.15

[백준 1181번] 단어 정렬 - python

https://www.acmicpc.net/problem/1181📌 문제 탐색하기시간 제한이 1초니까 최대 2중 for문까지만 가능하다.반에 있는 학생 수 n 입력으로 주어지고이름, dd, mm, yyyy가 주어져서 나이 가장 적은 사람과 가장 많은 사람의 이름을 출력하는 것이군!각각 하나를 배열로 저장하려면 2차원 배열이어야하는데 다른 방법없나? + 입력 받을 때마다 가장 나이가 많은 사람과 적은 사람을 저장할 수 없나?날짜가 거꾸로 주어져 있으니까 yyyymmdd로 바꿔서 저장하고 int로 바꿔서 매턴마다 비교해서 이름 저장해야겠다!📌 코드 설계하기입력 n 받고for문 돌면서 입력 받을 때 split()으로 받는다. 그리고 다시 date라는 변수에 yyyymmdd를 저장한다.매 생일이 입력될 때마..

개발/python 2025.08.14

[백준 1181번] 단어 정렬 - python

https://www.acmicpc.net/problem/1181📌 문제 탐색하기길이가 짧은 단어부터 출력길이가 같으면 사전 순으로 출력중복된 단어는 제거하기📌 코드 설계하기총 단어 개수 입력을 받고 for문을 돌면서 단어를 받을 예정이다. 다만, 단어를 받으면서 정렬을 진행할까 고민된다. 그렇게되면 배열보다는 linked list가 편할거같고.. 근데 여기서 연결리스트는 너무 과하지 않나..?라는 생각이 든다.차라리 단어를 다 받아서 파이썬 내장 함수인 lambda로 짧은 단어와 사전 순 정렬을 한 번에 처리해버리자.이제 중복된 단어만 제거하는 로직만 짜면 된다. for문 두 개 돌면서 다음 index의 값과 다르면 추가하면 되지 않나?→ 알고보니 이렇게 되면 마지막에 같은게 두 개 있으면 값이 저..

개발/python 2025.08.13

[백준 10814번] 나이순 정렬 - python

https://www.acmicpc.net/problem/10814📌 문제 탐색하기시간 제한 3초정수 n이 들어오고 n만큼 돌면서 나이와 이름 받기.공백으로 받으니까 .spit()함수 쓰고 이차원 배열로 저장해야겠다.나이를 기준으로 정렬하고 같은 수일 경우 먼저 입력된 값이 먼저 나오도록 하기.📌 코드 설계하기n값 받기for문 n만큼 돌면서 arr에다가 나이랑 이름 split 해서 저장하기최초 배열에다가 arr 추가최초 배열의 [x][0]으로 정렬하기!같은 수는 먼저 입력된게 알아서 나오지 않나.? (해봐야 알듯!)📌 개념 정리2차원 리스트 요소 출력하기한 리스트에서 요소 두 개를 꺼내서 저장하기a = [[10, 20], [30, 40], [50, 60]] for x, y in a: print(x,..

개발/python 2025.08.12

[백준 2309번] 일곱 난쟁이 - python

https://www.acmicpc.net/problem/2309📌 문제 탐색하기총 아홉 개의 수가 주어짐.일곱 명만 진짜 난쟁이7명의 총합이 100가능한 정답이 여러 가지인 경우는 아무거나 출력하고 총합이 100이 안 되는 경우는 없다.→ 7개를 더하기 보다는 9개에서 2개를 빼자!배열에 저장해서 sort하고 2개를 제거하면서 총합 100이 되는 경우를 찾자.📌 코드 설계하기for문으로 배열에 9개 값 저장하기배열 sort하기 및 100과 9개 값 총합 차이 구하기이중 for문 돌면서 2개씩 뽑아서 더한 값이 전에 구한 차이와 같은지 확인같을 경우 break!→ for문이 두 개라서 flag를 둬서 외부 for문 깨기📌 정답 코드arr = []for i in range (9): arr.app..

개발/python 2025.08.11

[Paper Review] τ -bench: A Benchmark for Tool-Agent-UserInteraction in Real-World Domains

0. Abstract기존 한계Language Agent가 사람 사용자와 상호작용하는 능력이나 domain-specific한 능력을 평가하지 않음.→ but, real world application을 위해서는 꼭 필요!제안τ -bench사용자 역할을 LLM이 대신하는 대화 시뮬레이션외부 API나 정책 가이드라인 등 규칙이 있는 환경에서 제공받은 agent의 능력 평가대화 후 db의 상태를 목표 상태와 비교하여 평가pass^kagent의 행동 신뢰도를 여러 번 반복 실행하여 평가할 수 있도록 새로운 평가지표 pass^k 제안결과GPT-4o와 같은 SOTA function calling agent 마저도 작업의 절반을 성공하지 못함.retail domain에서는 pass^8 수치가 25% 미만일 정도로 일관..

Paper Review 2025.07.28