본문 바로가기

Python8

COS Pro 1급 기출문제 - 꽃피우기 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 할 때마다 모르겠는 DFS BFS BFS 방식으로 풀어보려고 했다. 반복문 범벅이라 효율적인진 잘 모르겠지만 ㅠ https://school.programmers.co.kr/learn/courses/11133/lessons/71165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현 방식 1. 먼저 입력으로 주어진 밭에서 1의 위치를 찾아 one 리스트에 저장 2. 모든 위치의 꽃을 피울 때까지 (count로 확인, BFS 알고리즘에서 자주 사용하는 visited를 안 쓰고 모든 위치를 갔는 지 확인하려고 사.. 2023. 10. 28.
Python 주요 자료형 시간 복잡도 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 코딩 테스트 효율성 통과하기 너무 어렵다 List Operation Example Complexity Class Notes Index l[i] O(1) Store l[i] = 0 O(1) Length len(l) O(1) Append l.append(5) O(1) Pop l.pop() O(1) same as l.pop(-1) Clear l.clear() O(1) similar to l = [] Slice l[a:b] O(b-a) l[:] : O(len(l)-0) = O(N) Extend l.extend(…) O(len(…)) depends only on len of extension Construction list(…) O(len(…)) depends on .. 2022. 1. 24.
[CodingStudy] Heap -더 맵게 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 프로그래머스_Heap -더 맵게 문제 자체는 어렵지 않았는데 효율성에서 막혔던 문제이다. sort를 매번 반복때마다 사용하게 되면 시간복잡도가 O( N * N logN ) 가 된다. 효율성을 통과하기 위해서는 heapq 모듈을 쓰는 방법이 있었다. (다른 방법이 있다면 알려주세용..) heapq 알고리즘 heap= 최소/최대 규칙을 따르는 이진 트리 최소 힙=부모 노드 값이 자식 노드보다 항상 작거나 같음 최대 힙=부모 노드 값이 자식 노드보다 항상 크거나 같음 파이썬에서 힙큐알고리즘(우선순위 큐 알고리즘) 내장 모듈을 제공한다. 즉 따로 정렬을 하지 않아도 가장 낮은 값이 가장 낮은 인덱스에 위치한다. heapq.heapify(list) list를 힙으로 .. 2021. 11. 22.
[CodingStudy] 완전 탐색 -소수 찾기 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 프로그래머스_완전 탐색 -소수 찾기 문제. 한자리 숫자가 적힌 문자열 배열 numbers가 주어졌을 때, 만들 수 있는 소수의 개수 return ( numbers는 0~9까지 숫자를 요소로 가지며 리스트의 길이는 1~7 ) ex) [0, 1, 1]으로는 소수 [11, 101]를 만들 수 있으므로 2 return import itertools def solution(numbers): numlist=[] for s in range(1, len(numbers)+1): # 각 자리수 별로 순열값 생성해서 list에 추가 numlist=numlist+list(map(''.join, itertools.permutations(numbers, s))) numlist=lis.. 2021. 8. 27.
[CodingStudy] 정렬 -가장 큰 수 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 프로그래머스_정렬 -가장 큰 수 이 문제는 전혀 다른 방향으로 코드를 짜는 바람에 다른 분들의 코드를 참고하여 다시 공부했다 ㅠㅠ 생각보다 너무 짧아서 놀랐다..파이썬은 참 좋은 언어야.. 파이썬 공부를 코드 짤때 그때그때 하다보니까 모르는 함수나 문법이 아직도 많다..ㅠㅠ 문제. 0 또는 양의 정수가 담긴 배열 numbers가 주어질 때, 재배치하여 만들 수 있는 가장 큰 수를 문자열로 return (numbers의 길이는 1 이상 100,000 이하, 원소의 길이는 1,000 이하) ex) [3, 30, 34, 5, 9] > 9534330 / [6, 10, 2] > 6210 def solution(numbers): # numbers리스트의 요소 타입을 s.. 2021. 8. 26.
[CodingStudy] 신규 아이디 추천 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 프로그래머스_2021 카카오 BLIND RECRUITMENT [ 신규 아이디 추천 ] 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램. 조건 - 아이디의 길이는 3자 이상 15자 이하. - 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있음. - 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없음. 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 .. 2021. 8. 2.
[CodingStudy] 숫자 문자열과 영단어 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 프로그래머스_2021 카카오 채용연계형 인턴십 문제 [ 숫자 문자열과 영단어 ] 숫자 문자열의 일부가 영단어로 바뀌어졌거나 그대로인 문자열 s가 입력으로 주어짐. 문자열 s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성. 조건 - 1 2021. 7. 14.
WebGoat 실습 ② 자동화 스크립트 틀린 부분이 있다면 언제든지 댓글 남겨주세요! Blind Numeric / String SQL injection 자동화 스크립트 만들기 - 웹크롤링 이용해서 파이썬으로 자동화 (세션 꼭 넣기) - python 3.8, vscode, burpsuite사용 웹크롤링- request: 웹상의 데이터를 처리할 때 필요한 모듈 - BeautifulSoup: 웹언어를 가독성 좋게 보여주는 모듈 1. Blind Numeric SQL injection 자동화 스크립트 pins테이블에서 cc_number가 1111222233334444인 행의 pin값을 찾는 것 Invalid라고 했으므로 10000보다 작은 수임을 알 수 있다. 이런식으로 값을 유추하는 방식이다. 일일이 값을 바꾸며 찾기에는 한계가 있으므로 자동화 스크.. 2020. 8. 31.
728x90
반응형