본문 바로가기

java46

[프로그래머스] 12985번 - 예상 대진표 (Java) 출처: 프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 입출력 예를 살펴보면 N=8이기 때문에 1, 2, 3, 4, 5, 6, 7, 8 번의 참가자가 게임을 진행한다. 토너먼트 형식이기 때문에 1번 - 2번 / 3번 - 4번 / 5번 - 6번 / 7번 - 8번 끼리 진행된다. 1라운드가 끝나면 번호는 다시 1부터 배정이 되기 때문에 1, 2, 3, 4번으로 배정이 될 것이다. 이때 규칙을 찾을 수 있는데,.. 2023. 6. 12.
[프로그래머스] 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.