목록전체 글 (159)
다희의 코딩 성장일기
[ 문제 ] [백준] 1967. 트리의 지름 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net # 접근 방법 및 풀이 DFS로 풀었다. 1~N까지 노드와 연결된 간선정보를 "양방향 인접리스트"로 표현했다. 간선에 가중치가 있으므로 연결된 노드 번호와 가중치를 담기 위해 Node라는 클래스를 만들어서 입력을 받았다. 1~N까지 모든 노드에 대해 각 노드마다 DFS를 통해 연결된 노드 끝까지 가보며..
[ 문제 ] [백준] 2800. 괄호 제거 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/2800 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net # 접근 방법 및 풀이 문자열 + 스택 + 재귀 문제다. 정답률이 33퍼로 낮길래 일단 풀고 봤더니 틀렸다. 반례 찾아보니, 답에 중복이 있다면 제거해주어야한다. 이부분때문에 정답률이 낮은 것 같다. 먼저 풀이는 다음과 같다. 1. 스택으로 "괄호 쌍 인덱스" 리스트에 담아주기 2. 리스트에..
[ 문제 ] [백준] 10451. 순열 사이클 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net # 접근 방법 및 풀이 그래프 문제다. 처음에는 문제보고 무슨 소리지 했는데 이해하면 바로 풀 수 있다. 1~N개까지 숫자를 방향그래프로 나타낼 수 있는데, 그 표현은 다음과 같다. 문제 예시대로 N=8이라면 노드는 1~8번까지 있고, 다음과 같이..
[ 문제 ] [백준] 1254. 펠린드롬 만들기 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net # 접근 방법 및 풀이 이런 문제가 코테로 나오면 바로 풀었을까 싶은 문제다.. 대신 한번 풀어보면 쉽게 풀 수 있다. 문제대로 팰린드롬이란 "문자를 앞으로 읽어도 뒤로 읽어도 같게 읽히는 문자열"이다. 먼저, 문자열이 펠린드롬인지 확인하는 함수를 만든다. 펠린드롬인지 확인하는 방법은 "앞의 인덱스와(start)" "뒤의 ..
[ 문제 ] [백준] 1138. 한 줄로 서기 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net # 접근 방법 및 풀이 구현 문제다. 아이디어를 떠올렸다면 쉽게 풀었을 수도 있지만, 약간 생각하는데 시간이 걸렸다. 먼저, 문제에서 입력으로 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇명 있는지 주어진다. 예제대로 N = 4일 때, 2 1 1 0 으로 입력을 받아 arr[] 배열에 담아준다...
[ 문제 ] [프로그래머스] level1. 없는 숫자 더하기 (자바 JAVA) 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/86051?language=java 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr # 접근 방법 및 풀이 자세한건 코드참조 # 주의할 점 딱히 없음 JAVA 코드 class Solution { public int solution(int[] numbers) { int answer ..