분류 전체보기226 코딩테스트 연습탐욕법 > 큰 수 만들기 - JAVA (Stack) https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 처음에는 조합을 사용해야 하나 했지만 주어지는 number의 길이가 2자리 이상, 1,000,000자리 이하이기 때문에 다른 방법을 생각해야 했습니다. 코드 Stack 활용 ver import java.util.Stack; class Solution { public String solution(String number, int k) { char[] result = new cha.. 2024. 2. 6. 코딩테스트 연습 > 다리를 지나는 트럭 - JAVA (Queue) https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 큐를 트럭과 다리를 담당하도록 2개를 선언했다. 1. Truck Queue 우선 Queue에 truck을 다 집어 넣는다. 2. Bridge Queue 우선 Queue에 다리 길이 만큼 0을 다 집어 넣는다. 이때 0은 truck이 올라가 있지 않다는 것을 의미한다. 3. 반복문 돌리기 while문으로 Bridge Queue가 비어 있지 않는 경우 반복문을 돌린다. 다리에 올라.. 2024. 2. 4. 코딩테스트 연습 > 소수 찾기 (순열) https://school.programmers.co.kr/learn/courses/30/lessons/42839 풀이 - 나의 생각 순열을 사용해서 numbers로 만들 수 있는 모든 조합을 찾아가면서 Set에 저장(중복 제거를 위해) 그 후 소수의 갯수를 체크하면 된다. 코드 import java.util.*; import java.util.stream.Collectors; class Solution { static boolean[] visited; static String[] nums; static Set set; public int solution(String numbers) { set = new HashSet(); visited = new boolean[numbers.length()]; nums.. 2024. 1. 29. 월간 코드 챌린지 시즌1 > 쿼드압축 후 개수 세기 - JAVA (분할 정복) https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 제목이 거창하지만 결국에는 분할 정복입니다. 분할 정복은 조건에 부합하지 않을 경우 탐색 범위를 줄여가면서 조건을 부합하는 경우를 찾아가는 겁니다. 그렇기 때문에 우선 위의 그림처럼 처음에 2차원 배열을 값들을 한 번 살펴봅니다. 그랬을때 모든 값이 같으면 그 값으로 압축하면 끝 하지만 다른 값이 있으면 4등분하고 다시 검색하는 겁니다. 저 같은 경우 메소드를 하나 만들어 살펴.. 2024. 1. 22. 비트 연산자 사용하기 - 2편 (NOT 연산의 과정, 5의 NOT이 -6인 이유) https://fall-in-dream.tistory.com/86 비트 연산자 사용하기 - 1편 비트 연산자를 사용하여 정수형 데이터의 비트 단위 조작을 할 수가 있습니다. 주요 비트 연산자는 종류 설명 AND(&) 두 비트가 모두 1일 때만 결과가 1이 됩니다. OR(|) 두 비트 중 하나라도 1이면 fall-in-dream.tistory.com 위의 글을 보신 분들 중 의아한?궁금한? 부분이 있으신 분들이 있을거라고 생각합니다. 그것은 바로 1. NOT 연산의 결과 2. >>연산과 >>>의 차이 라고 생각합니다. 이번에는 우선 NOT 연산의 결과를 다시 한 번 살펴 봅시다. int a = 5(0101) 를 Not 연산 결과로 -6(1010)이 나왔습니다. '0101'을 NOT(~) 연산했으니 0과 1.. 2024. 1. 22. 비트 연산자 사용하기 - 1편 비트 연산자를 사용하여 정수형 데이터의 비트 단위 조작을 할 수가 있습니다. 주요 비트 연산자는 종류 설명 AND(&) 두 비트가 모두 1일 때만 결과가 1이 됩니다. OR(|) 두 비트 중 하나라도 1이면 결과가 1이 됩니다. XOR(^) 두 비트가 서로 다르면 결과가 1이 됩니다. NOT(~) 비트를 반전시킵니다. 0은 1로, 1은 0으로 바꿉니다. 시프트 연산자(, >>>) > (오른쪽 시프트): 비트를 오른쪽으로 이동시킵니다. 왼쪽에 부호 비트로 채워집니다. >>> (부호 없는 오른쪽 시프트): 비트를 오른쪽으로 이동시키되, 왼쪽에 0으로 채웁니다. 정도가 있습니다. 예시 1. AND(&) 연산자 : 두 비트가 모두 1일 때만 결과가 1이 됩니다. int a = 5; // 이진수: 0101 int.. 2024. 1. 22. 이전 1 ··· 22 23 24 25 26 27 28 ··· 38 다음