일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모든행과열대각선의합
- 알고리즘
- 격자판
- 누적 계산
- 가장 짧은 문자거리
- 등수구하기
- 10991
- 배열
- 임시반장 정하기
- GitHub #Commit #BaekJoon
- 보이는 학생
- 최대 길이
- array
- 코테준비
- 점수계산
- 뒤집은 소수
- 공통원소 구하기
- 인프런
- 자바
- 연속부분수열
- Pointer
- 백준
- 큰 수 출력하기
- ArrayList
- Two Pointer
- 두 배열 합치기
- java
- 10992
- 아스키코드
- 투 포인터
- Today
- Total
목록[Java] 인프런 문제풀이 (78)
ezhoon
문제 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES" 아니면 "NO"를 출력하는 프로그램을 만드시오 알파벳만 가지고 회문을 검사하며 대소문자는 구분하지 않는다. 알파벳 이외의 문자들은 무시한다. 이해 우선 펠 린드 롬이 무엇인지부터 알아보자. 참고 블로그 우리 말로 ‘회문(回文)’으로 번역되며, 'eye' madam'처럼 역순으로 읽어도 같은 말이나 구절 또는 숫자를 말한다. 대소문자를 구분하지 않는다고 했으니 입력받은 문자열을 toUpperCase(), toLowerCase() 둘 중에 아무거나 사용해서 대소문자 통일시켜 줘야 할 것 같다. 알파벳이 아닌 특수문자들도 들어오니 알파벳들만 남을 수 있게끔 아래 처럼 해주면 될 것 같다. replaceAll("[^A-Z]","") ⚠️ 주의사항 대..
문제 첫 줄에 길이 100이 넘지 않는 공백이 없는 문자열 입력 회문 문자열이면 "YES" 아니면 "NO" 출력 더보기 더보기 회문 문자열이란 회문이란 앞으로 읽으나 뒤로 읽으나 문장이 같을 때 이 문자열을 회문이라고 합니다. 예로 "wow"라는 문자열을 앞으로 읽어나 뒤로 읽으나 같은 문자열입니다. 이걸 코딩을 한다면 어떻게 해야 할지 고민해보기 이해 새로운 String 객체를 만들어서 입력된 값의 반대로 저장한 후 원래 문자와 비교하는 방법 0번째와 마지막, 첫 번째와 마지막-1 ~~ 쭉 비교해서 다 같으면 YES 다르면 FALSE 리턴하는 방법 gooG이 입력됐다고 생각하면 아래와 같이 풀 수 있다. 즉 0번째와 마지막 문자 / 1번째와 마지막-1 ~~ 이렇게 쭉 비교해서 결괏값을 출력해주면 된다...
문제 한 개의 문자열 입력 중복된 문자 제거 후 출력 각 문자는 원래 문자열의 순서를 유지할 것 ⚠️ 주의사항 문자열의 순서를 유지해야 하므로 HashSet으로 정렬하기는 어려울 것 같으니 다른 방법을 찾아야 함 문제풀이 1. BufferedReader + StringBuilder + linkedHashSet + Iterator import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Java01_06 { public String solution(String str) { Set linkedHashSet = new LinkedHashSet(..
문제 영어 알파벳과 특수문자들이 섞여서 입력 된다. 특수문자는 자기 자리에 그대로 있으며 영어 알파벳끼리는 서로 위치를 바꿔준다. ⚠️ 주의사항 한쪽이라도 알파벳이 아닐경우 어떻게 할지 생각하기 문제풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Java01_05 { public String solution(String str){ String answer; char[] s=str.toCharArray(); int lt=0, rt=str.length()-1; while(lt
문제 첫 줄에 자연수 N이 주어진다. 두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어진다 (영어만 가능) ⚠️주의사항 StringBuilder 사용하기 단어 뒤집어서 출력하기 good -> doog 문제풀이 1. BufferedReader + StringBuilder 사용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Java01_04 { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); public Stri..
문제 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하기 문장속의 각 단어는 공백으로 구분 ⚠️ 주의사항 공백으로 구분 할 것 가장 긴 단어를 출력하지만 같은 길이의 단어가 여러개일 경우 가장 앞쪽에 위치한 단어를 답으로 한다 문제풀이 1. BufferedReader + StringTokenizer + StringBuilder import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public String solution(String str) { int m = 0; String answ..
대문자와 소문자가 존재하는 문자열 입력받아 대문자는 소문자로 소문자는 대문자로 변환 후 출력하시오. ⚠️ 주의사항 문자열은 영어 알파벳으로만 구성 첫 줄에 문자열 입력 문제풀이 1. 아스키코드 값 사용해서 풀기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public String solution(String str) { StringBuilder sb = new StringBuilder(); for (char x : str.toCharArray()) { // 대소문자 아스키코드 값은 32가 차이난다 if (x >= 97 && x
문제 첫 줄에는 한 개의 문자열을 입력받는다. 두 번째 줄에는 문자가 주어진다. 문자열에서 두 번째로 입력받은 문자가 몇 개 있는지 출력하시오 ⚠️ 주의사항 문자열 입력 후 다음 줄에는 찾는 문자 입력 charAt() 이용하기 문제풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public int solution(String str, char c) { int answer = 0; str = str.toUpperCase(); // str 대문자로 바꿈 c = Character.toUpperCase(c); // c 값 대문자로 변환 for(char i..