알고리즘
인프런 3. 문장 속 단어 (Java)
첫 번째 풀이 (내 풀이) public class Main { public String solution(String str) { String answer = ""; String[] arr = str.split(" "); int maxLength = Integer.MIN_VALUE; for (int i = 0; i maxLength) maxLength = arr[i].length(); } for (String s : arr) { if (s.length() == maxLength) { answer = s; break; // 중복단어 있을 경우 맨 앞 단어 출력 } } return answer; } public static void ..
인프런 2. 대소문자 변환 (Java)
아스키코드 활용한 변환 public class Main { private String solution(String str) { String answer = ""; char tmp; for (int i = 0; i < str.length(); i++) { tmp = str.charAt(i); if ((65
인프런 1. 문자찾기 (Java)
전부 대문자 or 소문자 변환한다는 생각을 못했네. char 타입 대소문자 변형이나 대소문자 체크하는 Character 클래스에 있다는 것을 배웠다. public class Main { public int solution(String str, char c) { int answer = 0; // Idea *** 전부 대문자 or 소문자로 변환 **** str = str.toUpperCase(); c = Character.toUpperCase(c); for (char x : str.toCharArray()) { if (x == c) answer++; } return answer; } public static void main(String[] args){ Scanner kb =new Scanner(System..
백준 10818 최소, 최대
https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 첫번째 풀이 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); S..
백준 10951 A+B-4
https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net BufferedReader와 Scanner를 쓸 때 약간 다를 것이다. 여기서는 while문 반복 체크할때 할당도 동시에 해주는 점이 주의할 점이다. public class Boj10951 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; String str =""; while((..
백준 1924 2007년
https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 시간 문제들은 전부 다 하나하나 풀어서 풀이하는 경우가 대부분인거 같다. 역시 단순하게 월일을 일수로만 바꿔서 7일주기라는 점 때문에 나머지 연산을 해주면 쉽게 풀 수 있다. public class Boj1924_2007년 { public static void main(String[] args) throws IOException { BufferedReade..
백준 2745 진법변환 (Java)
https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 어떤 진수든 10진수로 바꾸는 방법은 똑같다. 각 자리의 10진수 숫자 * 진수의 각 자리수 제곱을 모두 더한 값이다. public class Boj2745_진법변환 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.i..
백준 6359 만취한 상범
https://www.acmicpc.net/problem/6359 6359번: 만취한 상범 한 줄에 한 개씩 각 테스트 케이스의 답, 즉 몇 명이 탈출할 수 있는지를 출력한다. www.acmicpc.net 비슷하게 풀었는데, 실패했음. 미리 방으로 쓸 배열을 충분히 120개까지 만들어놨다는 점. 그리고 배열 초기화를 Arrays.fill(room, 0)으로 하였다는 점. 그리고 2의 배수, 3의 배수를 인덱스르 써야하는데 for문에서 k*j
백준 10987 모음의 개수
https://www.acmicpc.net/problem/10987 10987번: 모음의 개수 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 모음으로 미리 ArrayList를 만들어 놓고 contains로 확인하고 카운트를 올려준다. public class Boj10987_모음의개수 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); List list = new A..
백준 2587 대표값2
https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 평균은 그냥 하던대로 하고, 중앙값은 정렬하면 3번째 원소가 중앙값이다. public class Boj2587_대표값2 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));..