java 50

[ BOJ ] 2908 : 상수 ( BRONZE 2 ) / C, C++, Python, Java

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

[ BOJ ] 2675 : 문자열 반복 ( BRONZE 2 ) / C, C++, Python, Java

문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 풀이 과정 입력으로 들..

[ BOJ ] 10809 : 알파벳 찾기 ( BRONZE 2 ) / C, C++, Python, Java

문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 과정 알파벳의 등장 위치를 저장하는 크기 26의 배열을 만들어서, 단어 S를 탐색한 후 알파벳이 처음 등장하..

[ BOJ ] 11720 : 숫자의 합 ( BRONZE 4 ) / C, C++, Python, Java

문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 풀이 과정 공백없이 주어진 한 자리 숫자들을 전부 더한다. 다만 숫자 자료형에 공백없이 주어진 숫자들을 저장하는 것은 무리이므로, 문자열에 저장해서 한 글자씩 숫자를 따서 합을 계산한다. 다만, 문자열에 저장하는 것이기 때문에, 숫자로 계산하기 위해선 아스키 코드 이론을 이용해 문자 0을 빼서 계산해야 올바른 숫자 값을 얻을 수 있다. ( '3' - '0' = 3 ) C #include char s[101]; int main(void) { int n..

[ BOJ ] 11654 : 아스키 코드 ( BRONZE 5 ) / C, C++, Python, Java

문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 풀이 과정 입력받은 문자에 대한 아스키 코드를 출력한다. C #include int main(void) { char ch; scanf("%c", &ch); printf("%d", ch); return 0; } C++ #include using namespace std; int main(void) { char ch; cin >> ch; cout

[ BOJ ] 9086 : 문자열 ( BRONZE 5 ) / C, C++, Python, Java

문제 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다. 출력 각 테스트 케이스에 대해서 주어진 문자열의 첫 글자와 마지막 글자를 연속하여 출력한다. 풀이 과정 인덱싱을 이용해 첫 글자와 마지막 글자를 출력한다. C #include #include int main(void) { int t; scanf("%d", &t); char str[1001]; while (t--) { scanf("%s", str); printf("%c%c..

[ BOJ ] 2743 : 단어 길이 재기 ( BRONZE 5 ) / C, C++, Python, Java

문제 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력 첫째 줄에 입력으로 주어진 단어의 길이를 출력한다. 풀이 과정 단어를 입력받고, length 를 구하는 함수를 사용하여 단어의 길이를 출력한다. C #include #include int main(void) { char word[101]; scanf("%s", word); printf("%d", strlen(word)); return 0; } C++ #include #include using namespace std; int main(void) { string word; cin >> word; cout

[ BOJ ] 27866 : 문자와 문자열 ( BRONZE 5 ) / C, C++, Python, Java

문제 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 S가 주어진다. 단어의 길이는 최대 1,000이다. 둘째 줄에 정수 i가 주어진다. (1 ≤ i ≤ |S|) 출력 S의 i번째 글자를 출력한다. 풀이 과정 S 문장을 저장하고 S의 i 번째 인덱스 문자를 출력한다. C #include char string[1001]; int main(void) { scanf("%s", string); int n; scanf("%d", &n); printf("%c", string[n - 1]); return 0; } C++ #include #include using namespace std; string s; int main(..

[ BOJ ] 1546 : 평균 ( BRONZE 1 ) / C, C++, Python, Java

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..

[ BOJ ] 10811 : 바구니 뒤집기 ( BRONZE 2 ) / C, C++, Python, Java

문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다. 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주..