본문 바로가기

Algorithm/Baekjoon65

[백준 알고리즘][자바] 10250번 : ACM 호텔 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 안녕하세요. 이번 포스팅은 백준 알고리즘 10250번 : ACM 호텔입니다. 문제가 길기는 한데, 간략히 요약하자면 N번째 손님에게 몇 호의 방을 배정하는지 구하는 문제입니다. 방 배정은 다음과 같은 규칙을 배정됩니다. 엘리베이터로부터 가깝고 낮은 층부터 차례대로 배정한다. 예를 들어 위의 문제와 같은 한 층에 12개의 방과 6개의 층으로 이루어진 호텔에서 10번째 손님은 101호, .. 2021. 7. 10.
[백준 알고리즘][자바] 2869번 : 달팽이는 올라가고 싶다 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 안녕하세요. 이번 포스팅은 2869번: 달팽이는 올라가고 싶다입니다. 달팽이가 나무 막대를 모두 올라가는 데 며칠이 걸리는지 구하는 문제입니다. 첫째 줄에 입력 받는 세 정수 A, B, V는 다음과 같습니다. A = 달팽이가 낮동안 올라가는 길이(미터) B = 달팽이가 밤동안 미끄러지는 길이(미터) V = 나무 막대기의 길이(미터) 이때 올라가는데 며칠이 걸리는지 출력합니다. 이 문제의 주요 포인트는 두 가지입니다. 정상에 올라간 후엔 미끄러지지 않는다... 2021. 7. 5.
[백준 알고리즘][자바] 1193번 : 분수찾기 https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 이번 포스팅은 백준 알고리즘 1193번 : 분수 찾기입니다. 분수의 순서를 위의 번호로 하고 X가 주어졌을 때, X번째 분수가 무엇인지 구하는 문제입니다. 분수의 규칙성을 생각하다 보면 어렵지 않게 파악할 수 있습니다. 1/1을 기준으로 1층이라고 한다면 각 층의 시작점인 분수에서 홀수 층에서는 분자는 1씩 줄어들고 분모는 1씩 늘어납니다. 짝수 층에서는 분자는 1씩 늘어나고 분모는 1씩 줄어듭니다. 이런 규칙을 기준으로 코딩을 짜게 됩니다. 저 같은 경우에는 아래의 두 가지의 개념으로 코드를 짰습니다. 주어진 숫자 X의 층 수.. 2021. 7. 4.
[백준 알고리즘][자바] 2292번 : 벌집 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 이번 포스팅은 백준 알고리즘 2292번 : 벌집입니다. 이번 문제는 위를 읽어보시면 알 수 있겠지만, 육각형으로 이루어진 벌집에서 숫자 N이 주어졌을 때 중앙의 1번 방에서 N번방까지 직선으로 몇 개의 방을 지나가는지 구하는 문제입니다. (처음과 끝 포함) 아래의 그림을 보겠습니다. 같은 라인에 있는 숫자들을 연결하여 선을 긋게 되면 중앙의 1을 기준으로 빨간색은 1층, 주황색은 2층, 노란색은 3층, 초.. 2021. 7. 3.
[백준 알고리즘][자바] 1712번 : 손익분기점 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 이번 포스팅은 1712번 손익분기점입니다. 세가지의 수 A, B, C를 입력합니다. A = 고정 비용 B = 가변 비용(1대당 발생하는 비용) C = 판매 가격 이때 비용보다 수입(판매가격)이 많아질때의 판매량을 구하는 문제입니다. 이번 문제에는 두가지의 포인트가 있습니다. 첫번째는 손익분기점이 존재하지 않는 경우를 생각하는 것입니다. 손익분기점이 존재하지 않는다는 것은 판매를 할수록 손해가 나는것입니.. 2021. 6. 13.
[백준 알고리즘][자바] 1316번 : 그룹 단어 체커 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 이번 포스팅은 백준 알고리즘의 1316번: 그룹 단어 체크입니다. 그룹 단어란 입력받은 단어의 모든 문자에 대해서, 각 문자들이 모두 연속해서 나타나는 경우를 말합니다. 이번 문제에서 포인트는 아래의 두 가지입니다. 그룹 단어는 하나의 연속된 문자가 끝이 나면 다음 문자부턴 존재하지 않는다. 1개의 문자도 연속된 문자이다. 입력받은 단어 중에 그룹 단어의 갯수를 출.. 2021. 6. 13.
[백준 알고리즘][자바] 2941번 : 크로아티아 알파벳 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지를 구하는 문제입니다. 크로아티아 알파벳은 입력을 할 수가 없어 위의 표처럼 알파벳, '-', '=' 3개의 조합으로 사용합니다. 크로아티아 알파벳와 입력한 단어를 비교하여 치환을 해주면 갯수를 구할 수 있습니다. 단, 빈 값("")으로 치환하면, nljj 와 같이 치환 후 새로운 크로아티아 .. 2021. 6. 5.
[백준 알고리즘][자바] 2908번 : 상수 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 두 수를 문자열로 입력 받은 후 reverse()하고 두 수를 비교하여 큰 수를 출력하는 문제입니다. StringBuilder 또는 StringBuffer의 reverser()를 사용하여 쉽게 해결할 수 있습니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Input.. 2021. 6. 5.
[백준 알고리즘][자바] 1152번 : 단어의 개수 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 백준 알고리즘 1152번 영어 대소문자와 공백으로 이루어진 문장을 문자열로 입력받고 그 문장의 단어 개수를 구하는 문제입니다. 입력받은 문장의 공백은 연속해서 나오는 경우는 없고 단어의 앞과 뒤에는 공백이 있을 수 있습니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; impor.. 2021. 5. 12.
[백준 알고리즘][자바] 1157번 : 단어 공부 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제해설 단어가 주어지면 단어에서 가장 많이 사용된 알파벳의 갯수를 구하는 문제입니다.(대소문자 구분 X) 단, 가장 많이 사용된 알파벳이 여러개일 경우에는 ? 출력 예제로 입력 받은 문자열의 길이만큼 반복문을 돌며 사용된 알파벳을 카운트 시켜준다. 카운트 시켜주는 방법은 아스키 코드를 사용한다. 예를 들어 A를 카운트 한다고 하면 배열에서 arr['A' - 65] 라고 하면 A가 아스키 코드로 65이기 때문에 int 배열의 0번.. 2021. 5. 12.
반응형