[프로그래머스] 77885 - 2개 이하로 다른 비트
·
Algorithm
알고리즘은 조금씩 풀고 있었는데, 문제를 풀고 복기할 겸 오랜만에 업로드해본다 😇푼 문제도 복습할 겸 업로드할 계획https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 파악비트 연산을 잘 활용하여 풀어야겠다비트가 1~2개 다르다는 점을 활용할 수 있을 것 같다.  어려운 점생각보다 케이스가 많다 [0, 100,000]자료형이 long 타입 - [0, 10^15]이기 때문에 비트 연산자라도 연산 횟수가 큰 편아래와 같은 코드 작성 시 타임아웃이 ..
Python Tips
·
Algorithm
계속 업데이트 중입니다 😊 정렬 array = [1,2,3,4,5] 1. array.sort() array.sort(reverse=True) array.sort(key=정렬기준(람다식도 가능), reverse=True/False) inputlist = [(1, 2), (-1, 3), (0, 4)] inputlist.sort(key=lambda x: x[0], reverse=True) # 결과 : [(1, 2), (0, 4), (-1, 3)] 도 가능 2. array = sorted(iteration 가능한 객체, key = 정렬 기준(람다식 가능), reverse=True/False) 필터 myfilter = filter(조건식, iteration 가능한 객체) list, tuple로 변환 가능 list..
백준 11053 - 가장 긴 증가하는 부분 수열
·
Algorithm
[접근방법] DP 문제인 것 같다! Bottom-up(반복문)👌 / Top-Down(재귀) 예시를 잘 생각해 내야 된다.. 문제가 짧다고 후딱 읽고 풀면! 틀린다. 그리하여 [생각해본 예시] 9 3 1 2 3 4 5 6 4 5 👉 ans : 6 [구현] 위 예시를 바탕으로 두려움에 떨며 이중 for문을 만들어 보았다. 단순히 이전 인덱스 값을 비교하면 원하는 값이 나오지 않을 것 같았다. ** DP를 모조리 1로 채워줬다. input으로 5, 5, 5, 5 이 들어가도 1을 반환해야 하기 때문에 1st for : i는 두 번째 원소부터 마지막까지 돌면서 2nd for : j를 i 이전 원소들로 지정해 자기자신(i)과 비교한다 ▶ 만약 j번째 원소(arr[j])가 i번째 원소(arr[i])보다 작다면 (증..
백준 1009 - 분산처리
·
Algorithm
[풀이] Math.pow(a,b)로 접근할 경우 숫자가 너무 커지게 되어 오류가 생긴다 그래서 두 가지 접근 방법을 떠올려보았다 1) a의 일의 자릿수만 가지고 b번 곱해보자! 👉 b번 곱해도 숫자가 커지지 않을까 :( 👉 나머지 연산자 2) 제곱수.. 규칙이 있을 것만 같다! 여기서 어째선지 2)번을 택했더란다. 1)도 구현해보긴 했다😅 일단 [0,9] 제곱수가 최대 4개의 반복 양상을 보여 배열로 생성해 주었다. -> int chart[10][4] 생성 이때, 각 행의 0, 1, 2, 3 번째는 b값이 4n, 4n+1, 4n+2, 4n+3일 때와 매핑되므로 순서를 유의해서 생성한다 ex: chart[3] = new int[]{1, 3, 9, 7}; a=12, b=10 인 경우 : newA = 2 (a..