Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 토마토
- 부동소수점
- 프로그래머스
- 표 편집
- 자바
- 다단계 칫솔 판매
- 기능 개발
- 조합
- 베스트 앨범
- 컴퓨터 구조
- 메뉴 리뉴얼
- 티스토리챌린지
- 백준
- java
- 코테
- 오블완
- 도둑질
- 요세푸스
- Comparable
- 컴퓨터구조
- 구현
- swea
- 고정소수점
- 운영 체제
- Call-by-Value
- 순열
- 데이터
- Comparator
- 괄호 회전하기
- sw expert academy
Archives
- Today
- Total
감자는 아직 꿈을 꾼다.
[백준-java] 3613번 실버 3 java vs c++ 본문
String 문제
예외상황만 잘 처리하면 되는 문제다.
https://www.acmicpc.net/problem/3613
내 풀이
StringBuilder의 사용법을 익힐수 있는 좋은 문제다.
deleteCharAt() -> 해당 인덱스 문자 삭제
insert() -> 해당 인덱스 앞에 문자 삽입
indexOf() -> 포함 되있으면 해당 시작 인덱스 반환
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder(br.readLine());
boolean java = false ;
boolean c = false;
// java 인지 c 인지 확인
for (int i = 0; i < sb.length();i++) {
if (sb.charAt(i) >= 'A' && sb.charAt(i) <= 'Z') java = true;
if (sb.charAt(i) =='_') c = true;
}
// 둘다 혼합일 경우
if (java && c) {
System.out.println("Error!");
return;
}
// java : 시작이 대문자 일 경우
if (sb.charAt(0) >= 'A' && sb.charAt(0) <= 'Z') {
System.out.println("Error!");
return ;
}
// c : _가 맨앞이나 맨뒤에 있을 경우, __가 두개 포함되어있을 경우
if (sb.charAt(0) == '_' || sb.charAt(sb.length()-1) == '_'
|| sb.indexOf("__") > 0) {
System.out.println("Error!");
return ;
}
// java to c
if (java) {
for (int i = 0; i < sb.length(); i ++) {
if (sb.charAt(i) >= 'A' && sb.charAt(i) <= 'Z') {
sb.replace(i, i+1, String.valueOf(sb.charAt(i)).toLowerCase());
sb.insert(i, "_");
}
}
}
// c to java
if (c) {
for (int i = 0; i < sb.length(); i ++) {
if (sb.charAt(i) == '_') {
sb.deleteCharAt(i);
sb.replace(i, i+1, String.valueOf(sb.charAt(i)).toUpperCase());
}
}
}
System.out.println(sb);
}
}
'코테적 감자 > 백준' 카테고리의 다른 글
[백준-JAVA] 1717번 집합의 표현 (0) | 2024.11.26 |
---|---|
[백준-java] 토마토 7576번 7569번 (0) | 2024.11.19 |
[백준-java] 9996번 실버 3 한국이 그리울 땐 서버에 접속하지 (1) | 2024.11.16 |
[SWEA-java] 미생물 격리 (2) | 2024.11.15 |
[백준-java] 골드 4 타임머신 (2) | 2024.11.09 |