본문 바로가기

Java68

[JAVA] 연속되는 홀수 사이에 '-'넣기 문제 : 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴 public class Solution { public String insertDash(String str) { if (str.length() == 0) return null; String result = "" + str.charAt(0); for (int i = 1; i < str.length(); i++) { int prev = Character.getNumericValue(str.charAt(i - 1)); int curr = Character.getNumericValue(str.charAt(i)); if (prev % 2 != 0 && curr % 2 != 0) { result = result + '-'; }.. 2022. 10. 21.
[JAVA] 백준 10871 (X보다 작은 수) 문제: 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성 입력: 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력: X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { pub.. 2022. 10. 21.
[JAVA] 문자열 체크 문제 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴 조건 'a'로 시작해서 'b'로 끝나는 길이 5의 문자열 'b'로 시작해서 'a'로 끝나는 길이 5의 문자열 package com.codestates.coplit; import java.util.*; public class Solution { public boolean ABCheck(String str) { //예외는 false 반환 if (str.length() == 0) return false; str = str.toLowerCase(); for (int i = 4; i < str.length(); i++) { if ((str.charAt(i) == 'a' && str.charAt(i-4) == 'b') || (str.char.. 2022. 10. 21.
[JAVA] 백준 2442번 (별찍기 -5) 문제: 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제. 별은 가운데를 기준으로 대칭이어야 한다. 입력: 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력: 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int.. 2022. 10. 21.
[JAVA] 백준 5597번 (과제 안 내신 분..?) 문제: X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 입력: 입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다. 출력: 출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea.. 2022. 10. 21.
[JAVA] 두 칸의 공백을 한 칸으로 문제 문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴 public class Solution { public String convertDoubleSpaceToSingle(String str) { String[] words = str.split(" "); return String.join(" ", words); 흐름 split를 이용해 스페이스 2개로 잘라진 배열을 words에 저장 join을 이용해 words(2페이스 2개)를 스페이스 1개로 바꿔줌 split(): 문자열을 일정한 구분자로 잘라서 배열로 저장 join(): 배열을 문자열로 합쳐줌 2022. 10. 21.
[JAVA] 백준 2739 (구구단) 문제: N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성 입력: 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력: 출력형식과 같게 N*1부터 N*9까지 출력 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { //1. BufferedReader로 숫자를 받음 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = In.. 2022. 10. 21.
[JAVA] 2차원 배열을 Hashmap으로 문제: 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 HashMap을 리턴 public class Solution { public HashMap convertListToHashMap(String[][] arr) { HashMap result = new HashMap (); if (arr.length == 0) return result; for(int i = 0; i < arr.length; i++) { if (arr[i].length != 0) { if (!result.containsKey(arr[i][0])){ result.put(arr[i][0], arr[i][1]); } } } return result; } } 흐름 결과값을 받을 hashmap 생성 for문을 사용해서 k.. 2022. 10. 21.
[JAVA] 문자열 첫 글자 대문자로 public class Solution { public String letterCapitalize(String str) { //빈 문자열은 빈 문자열 그대로 if (str.length() == 0) return str; //split()을 사용해서 공백으로 배열 나누기 String[] words = str.split(" "); String result = ""; for (int i = 0; i < words.length; i++) { //빈 문자열은 받으면 그대로 i에 그대로 넣음 if(words[i].isEmpty()) { words[i] = words[i]; } else { //String.valueOf(words[i].charAt(0)): words배열의 i번째를 String으로 바꾼 뒤char로 .. 2022. 10. 21.
[JAVA] 백준 2441번 (별찍기 -4) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int count = Integer.parseInt(br.readLine()); br.close(); StringBuilder sb = new StringBuilder(); for (int i = 1; i = i; j--) { sb.append("*"); } sb.app.. 2022. 10. 21.
728x90