Programming/Programmers47 [프로그래머스] 43162번 - 네트워크 (JAVA) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방식 컴퓨터끼리 연결되어 있는 네트워크의 개수를 구하는 것에서 노드끼리 연결되어 있는 그래프, 즉 연결 그래프의 개수를 구하는 것과 비슷하다고 생각했다. 그래서 연결되어 있는 노드를 하나씩 끝까지 방문처리를 하면서 탐색하고, 다시 방문하지 않은 노드를 방문하는 과정을 반복하는 방법을 생각했다. 노드를 끝까지 탐색한다는 것에서 DFS를 떠올렸다. 풀이 .. 2023. 6. 11. [프로그래머스] 12973번 - 짝지어 제거하기 (JAVA) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문자를 짝지어서 제거해야 하기 때문에 문자열을 문자 하나씩 읽어가면서 조건에 해당하면 지워주면 됩니다. 그렇기 때문에 현재 index가 i라면, i-1번째가 i와 같을 때 i-1번째를 빼주면 됩니다. => Stack을 사용하면 쉽게 풀 수 있습니다. 문자열을 하나씩 읽고, 스택의 최상단 값과 비교해서 같다면 최상단 값을 빼주고, 다르다면 현재 문자를 .. 2023. 6. 8. [프로그래머스] 12945번 - 피보나치 수 (JAVA) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 1) n번째 피보나치 수를 구하는 방법과 2) 1234567로 나눈 나머지(모듈러 연산)가 포인트 입니다. 1. DP로 n번째 피보나치 수 구하기 피보나치 수는 문제 설명처럼 F(n) = F(n-1) + F(n-2) 가 적용되는 수입니다. 다시 말해 현재의 전 번째 수와 전전 번째 수를 합한 값이 현재의 값이 되는 것입니다. 피보나치 수를 .. 2023. 6. 7. [프로그래머스] 12911번 - 다음 큰 숫자 (JAVA) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 n을 2진수로 변환했을 때 1의 개수(OneNow)를 구합니다. n의 다음 큰 숫자(next)는 조건 1에 의해 n보다 크기 때문에 n+1 부터 시작합니다. n+1부터 1 씩 증가하면서 2진수로 변환했을 때 1의 개수(OneNext)를 구합니다. OneNext가 OneNow와 같아지면 그 때 수인 next를 반환합니다. 소스코드 1번 처음에는 관련 메.. 2023. 6. 6. [프로그래머스] 12924번 - 숫자의 표현 (JAVA) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 연속된 자연수들의 합으로 표현해야 하기 때문에 1부터 하나씩 증가하면서 더해줍니다. 단, n을 넘어서 더하는 것은 자연수의 합으로 n을 표현하는 방법이 아니기 때문에 n까지만 더합니다. 그 합이 n과 같다면 n을 연속된 자연수들로 표현한 것이기 때문에 answer을 1 추가합니다. 합이 n을 넘어간다면 연속된 자연수의 합으로 n을 표현할 수 없는 것이.. 2023. 6. 5. 이전 1 ··· 5 6 7 8 다음