본문 바로가기

카테고리

(14)
코딩테스트 내장함수 유용한 것 모음 https://da2uns2.tistory.com/entry/Python-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-%EC%A3%BC%EC%9A%94-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC [Python] 코딩테스트에서 자주 사용되는 주요 라이브러리코딩테스트를 준비하며 반드시 알아야 하는 라이브러리 6가지! 1. 내장 함수: 기본 내장 라이브러리 2. itertools: 순열과 조합 3. heapq: 힙(Heap) 기능 제공, 우선순위 큐 기능 구현 4. bisect: 이진 탐색(Bida2un..
드림핵 random-test Write up 드림핵 web LEVEL 1import stringimport requestsurl = 'http://host3.dreamhack.games:19474/'# 소문자 알파벳과 숫자를 포함하는 문자열을 생성합니다.characters = string.ascii_lowercase + string.digits# 모든 4자리 조합을 저장할 변수 초기화id = ""password = ""# 첫 번째 문자를 찾기 위한 반복문 시작for first in characters: # 첫 번째 문자를 locker_num으로 설정하고 요청을 보냅니다. datas = {'locker_num': first, 'password': '0'} r = requests.post(url, data=datas) # 응답에서..
2023 vishwactf write up 최종 결산 끝나기 4시간 전 기준으로1778팀중에 292등! 785포인트 5문제 풀었다. 고생한 Goblebin, NaraDoseong 수고했으 내가 푼것 2문제 1. Eeezzy(web) 서버에 들어가면 이런 로그인 페이지가 나온다. 옆에 눌러서 코드를 볼 수 있다. 뭔가 strcmp라는 함수를 어디선가 본 것 같다. 찾아보니 https://hackability.kr/entry/PHP-strcmp-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EC%9A%B0%ED%9A%8C [PHP] strcmp 취약점을 이용한 인증 우회 최조 작성: 2014-02-01 최종 수정: 2015-01-20 안녕하세요...
백준 1463 1로 만들기(재귀) https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 재귀를 썻는데 -1을 해주는 연산때문에 재귀가 100000개이상으로 늘어난다. 파이썬에서 재귀는 1000개까지 가능하다고하여 다시 썻다. dy=[0] * 1000001 import sys n=int(sys.stdin.readline().rstrip()) def filter(n, b=0): if dy[n] != 0: return dy[n] if n ==1: return 0 else: a=[] if n%3==0: a.append(filter(n // 3, 0) + 1) if n%2==0: a.append(filte..
백준 9095 1,2,3 더하기(점화식x) https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 점화식이 있다는걸 모르고 그냥 다 구현해서 풀어버렸다... n을 쪼개서 1,2,3을 각 리스트로 만들고 조합을 구하는 모듈을 썻다. 예를들어 n=4이면 [1,1,1,1] -1 [1,1,2] - 3C1 [2,2] - 2C2 [1,3] - 2C1 분류는 1,2로만 쪼갤때, 1,3으로만 쪼갤때, 2,3으로만 쪼갤때, 1,2,3으로만 쪼갤때로 나누었다. import sys from itertools import combinations def plus123(n): total=1 a=[1]*n if n>=..
자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 이진 검색 실습 이진 검색 실습 1. 배열, 키 사용자로부터 입력받고 키의 값에 해당하는 인덱스를 이진검색으로 찾는 함수 구현 2. 전제조건 그 배열은 오름차순이다 3. 배열 안의 값은 0보다 큰 정수이다 처음 구현한 코드 def binary_search(n, key): pl = 0 pr = len(n) - 1 while True: pc = (pl + pr) // 2 if n[pc] key: pr = pc - 1 elif n[pc] == key: return pc else: return -1 n=[] key=0 while True: #리스트 입력받기 n.append(int(input("n리스트의 인덱스를 오름차순으로 입력하시오(그만입력하려면 -1): "))) if..
검색 알고리즘 이진검색문제 만들어 풀기 1부터 32463의 수 중 하나인 n을 입력받고 1~32463의 범위에서 이진검색으로 n을 찾아라 부족했던 점 1. 변수이름이 기억이 안나서 binna로 했는데 first -> pl last -> pr binna -> pc 이렇게 고쳐줘야 할 것 같다. 2. binna = int((first + last)/2) binna =(first + last)//2 //는 그 연산 결과값을 int형으로 만들어준다. 다음에 더 구현하고 싶은것 1. 배열로 이진검색을 구현하고 싶고 선형검색의 보초법도 구현해보고 싶다. 더불어 같이 파이썬 코딩 스터디하고 있는 친구의 글도 공유하고자 한다. https://bonun.tistory.com/2 파이썬, 이진검색 def a (n): pl = 1 pr = 32463 if n <..
자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 03 검색 알고리즘 03 챕터 공부시간: 02:27:19 이 글은 자신의 개념 정리를 위하여 작성한 것 입니다. 내가 만든 목차 1. 검색 2. 보초법 3. 복잡도 4. 해시법 5. 해시충동일 경우 1. 검색 선형 검색: 배열의 원소를 맨 앞부터 순서대로 스캔하여 검색 이진 검색: 배열의 원소를 가운데부터 스캔하여 검색 선형 검색 사용 - 정렬되어 있지않을 때 사용 이진 검색 사용 - 정렬되어 있을 때 사용 2. 보초법 보초법 : 선형 검색을 사용할 때 검색의 수를 줄이기 위해 맨 뒤에 찾는 요소의 값을 추가하는 방법 3. 복잡도 시간복잡도: 실행하는데 필요한 시간을 평가함 공간복잡도: 메모리(기억 공간)와 파일골 공간이 얼마나 필요한지를 평가함 4. 해시법 해시법 : '데이터를 저장할 위치 = 인텍스'를 간단한 연산으로 ..
백준 2953번 나는 요리사다 (배열) https://www.acmicpc.net/problem/2953 2953번: 나는 요리사다 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5 www.acmicpc.net 처음에 이런 식으로 하려고 했으나 이런 오류가 떴다. 구글에 검색해보니 https://www.codeit.kr/community/threads/15371 TypeError: 'int' object is not callable 해결을 못하겠어요. | 코드잇 이렇게 코드를 짜 보았는데, Traceback (most recent call last): File "", line 18, in File "",..
자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 02 기본 자료구조와 배열 02 챕터 공부시간: 3시간 이 글은 자신의 개념 정리를 위하여 작성한 것 입니다. 내가 만든 목차 1. 원솟값을 정하지 않는 리스트는 None 2, 뮤터블, 이뮤터블 자료형 3. 튜플의 정의 4. 언팩 5. 음수인덱스 6. 슬라이스 7. 음수 인덱스 슬라이스 8. 파이썬에서 '=' 9. 비교연산자 10. 내포 표기 생성 11. 배열 원소의 최댓값을 구하는 함수 12. 배열의 원솟값을 난수로 결정 13. 리스트 is 연산 14. 이터러블(iterable) 15. 의사코드 16. n진수 구하기 17. print d 18. 2부터 n이하의 소수 1. 원솟값을 정하지 않는 리스트는 None list12 = [None] * 5 #[None, None, None, None, None] 2, 뮤터블, 이뮤터블 자료..