728x90
반응형
SMALL

알고리즘 단련장/백준 30

[백준] 10431 줄세우기 자바 풀이 구현 시뮬레이션 정렬

https://www.acmicpc.net/problem/10431        문제초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1번, 그 다음이 2번, ... , 가장 큰 아이가 20번이 된다. 강산이네 반 아이들은 항상 20명이며, 다행히도 같은 키를 가진 학생은 한 명도 없어서 시간이 조금 지나면 아이들은 자기들의 번호를 인지하고 한 줄로 세우면 제대로 된 위치에 잘 서게 된다.하지만 매년 첫 며칠간 강산이와 강산이네 반 아이들은 자기가 키 순으로 몇 번째인지 잘 알지 못해 아주 혼란스럽다. 자기 위치를 찾지 못하는 아이들을 위해 강산이는 특별한 방법을 생각해냈..

[백준] 2292 벌집 자바 풀이 브론즈2 단순구현

https://www.acmicpc.net/problem/2292  스펙     문제위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.출력입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.예제 입력 1 복사13예제 출력 1 복사3     전체코드impor..

[백준] 다양한 DP 문제 추천

DP란?- 동적 프로그래밍(DP)은 알고리즘 문제 해결에 매우 중요한 기법 중 하나     추천 DP 문제들 1003번: 피보나치 함수문제 설명: 피보나치 함수의 호출 횟수를 계산하는 문제로, 기본적인 DP를 이해하고 연습하기 좋음 1463번: 1로 만들기문제 설명: 주어진 정수를 1로 만드는 최소 연산 횟수를 찾는 문제로, DP를 통해 최적의 방법을 찾는 연습을 할 수 있음 2098번: 외판원 순회문제 설명: 외판원 문제로, 모든 도시를 방문하여 처음 도시에 돌아오는 최단 경로를 찾는 문제임. 비트마스크 DP를 활용하는 문제로 도전해볼 만함.11053번: 가장 긴 증가하는 부분 수열문제 설명: 주어진 수열에서 가장 긴 증가하는 부분 수열의 길이를 찾는 문제임. DP를 활용하여 최적의 부분 수열을 찾는 ..

[백준] 1157 단어 공부 자바 풀이

https://www.acmicpc.net/problem/1157   문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.예제 입력 1 복사Mississipi예제 출력 1 복사?예제 입력 2 복사zZa예제 출력 2 복사Z예제 입력 3 복사z예제 출력 3 복사Z예제 입력 4 복사baaa예제 출력 4 복사A import java.io.*;im..

[백준] 5622 다이얼 자바 풀이

https://www.acmicpc.net/problem/5622 문제상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.할머니가 외운 ..

[백준] 2908 상수 자바 풀이 문자열 뒤집기

https://www.acmicpc.net/problem/2908  문제상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.입력첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되..

[백준] 1152 단어의 개수 자바 풀이

https://www.acmicpc.net/problem/1152  문제영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.입력첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.출력첫째 줄에 단어의 개수를 출력한다.예제 입력 1 복사The Curious Case of Benjamin Button예제 출력 1 복사6예제 입력 2 복사 The first character is a bl..

[백준] 10809 알파벳 찾기 자바 풀이

https://www.acmicpc.net/problem/10809  문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.출력각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.예제 입력 1 복사baekjoon예제 출력 1 복사1 0..

[백준] 11720 숫자의 합 자바 풀이

https://www.acmicpc.net/problem/11720      문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.출력입력으로 주어진 숫자 N개의 합을 출력한다.예제 입력 1 복사11예제 출력 1 복사1예제 입력 2 복사554321예제 출력 2 복사15예제 입력 3 복사257000000000000000000000000예제 출력 3 복사7예제 입력 4 복사1110987654321예제 출력 4 복사46출처문제를 만든 사람: baekjoon데이터를 추가한 사람: jh05013   import java.io.*;import java.util.*;pu..

728x90
반응형
LIST