본문 바로가기

알고리즘 공부28

[프로그래머스] 21년 카카오 공채 - 메뉴 리뉴얼 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간초과난 풀이를 기억하기 위해 포스팅한다 ㅎ 조합을 찾을때, 난 모든 존재할 수 있는 알파벳을 리스트로 구하고 이 리스트에서 조합을 구했는데 알파벳이 총 26개이고, 문제에서 찾는 알파벳 조합의 범위가 1개 ~ 10개까지 이므로 26C1 + ... 26C10은 정말 큰 수일 것이다. 바로 시간 초과.. 틀린 풀이 answer = [] tempAnswer = [] def solution(or.. 2024. 2. 19.
얕보면 안되는 a = b 제목으로 어그로 조금 끌어봤다ㅎㅎ 내용은 깊은복사와 얕은 복사에 대한 이야기이다. 여기 a = [0, 1, 2, 3, 4, 5] 가 있다 이 값을 b 라는 변수에 넣어주고 프린트를 해본다면, a = [0, 1, 2, 3, 4, 5] b = a print(a) # [0, 1, 2, 3, 4, 5] print(b) # [0, 1, 2, 3, 4, 5] 위와 같이 나올 것이다. 만약 b에 값을 넣고, a의 0을 100으로 바꿔본다면? a = [0, 1, 2, 3, 4, 5] b = a a[0] = 100 print(a) # [100, 1, 2, 3, 4, 5] print(b) # [100, 1, 2, 3, 4, 5] 이렇게 a만 값을 바꾸었는데, b도 함께 값이 바뀌게 된다. 이렇게 같은 리스트를 공유하게 되.. 2024. 2. 18.
return Boolean과 return Function의 차이 return 함수 와 그냥 일반 return의 차이 아래 두 함수는 단순하게 생각해본다면, if 조건에 맞다면 return True를 하는 함수로 이해할 수 있겠지만, 실행결과는 다르게 나온다. def dfs1(): if 조건: return True for i in range(4): return dfs1() def dfs2(): if 조건: return True for i in range(4): if dfs2(): return True dfs1 함수는 for 문이 있기 때문에 자칫 4번 실행되지 않나? 라는 착각을 할 수 있다. (나다..) 그러나, i = 0일때만 for문을 스캔하고 해당 for문에서 return True가 되지 않는다면 함수가 끝나 return 되기 때문에 그 다음인 i=1, 2, 3.. 2024. 1. 30.
[백준] 문자열 폭발 - 9935번 문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 입력될 수 있는 문자열의 길이가 1,000,000으로 100번만 반복문을 돌아도 1억번의 연산을 하기 때문에 단순한 반복문으로는 시간초과에 부딪힌다. 하지만,ㅎㅎ 나는 시간 초과 풀이를 먼저 제출했다ㅎ.. munja = input() target = input() # 처음부터 스캔하는 방식은 시간초과가 난다. while True: curStart = [] for i in ran.. 2024. 1. 24.