구글링 구글링!!!!! 좀 해라 오류난 부분 구글링하면 나온다.
항해99_알고리즘 주차 문제와 해결_3
[JAVA]
문제 참고 : https://programmers.co.kr/learn/courses/30/lessons/12937
문제 : [가운데 글자 가져오기]
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.재한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s (문자열) return (반환되는 값)
"abcde" | "c" |
"qwer" | "we" |
내가 해 본 거
1. 먼저 문제 분석
- 단어 길이가 홀수이면 가운데 한 글자 가져오기
- 단어 길이가 짝수이면 가운데 두 글자 가져오기
--> 단어 가운데 글자 반환하는 함수
2. 규칙 찾기 & 정리
- solution() 함수로 만들자.
public statc String solution()
첫 번째 : 단어길이 계산
두 번째 : if (단어길이가 짝수이면) {
result = 단어 중간 두글자 들고오기
//미리 계산 해보면 글자 수 6개면 나누기 2 몫은 3 가져오는 값의 길이의 index는 0 부터 시작이니 2,3인 값을 들고 와야 함. 그러면 (to-from : 몫의-1 ~ 몫의 +1 로 2,3만 나올 수 있다.)
} else if {
result = 단어 중간 한 글자 들고오기
//미리 계산 해보면 글자 수 5개면 나누기 2 몫은 2 가져오는 값의 길이의 index는 0 부터 시작이니 2인 값을 들고 와야 함. 그러면 (to-from : 몫 ~ 몫의 +1 로 2만 나올 수 있다.)
}
result = 저장된 값 반환
※ 참고
- 자바 단어 길이 세기
https://hianna.tistory.com/519
- 문자 안에 낱개문자 찾기 substring
https://jhnyang.tistory.com/335
- substring(첫 번째값, 두 번째 값)
//to-from 첫 번째 값에서 두번째 값 바로 앞까지 결과 나온다.
3. 코딩화 & 구현
public class Main {
public static void main(String[] args) {
// write your code here
String result= "";
System.out.println(solution("result"));
System.out.println(solution("score"));
}
public static String solution(String txt) {
int count = txt.length();
String result="";
if(count %2 == 0){
result = txt.substring(count/2 -1,count/2+1); //to-from 첫 번째 값에서 두번째 값 바로 앞까지 결과 나온다.
} else {
result = txt.substring(count/2, count/2+1);
}
return result;
}
}
<실행 결과>
su
o
마지막으로 에러나 부분 ㅠㅠㅠㅠ 아우 진짜 ㅠ
팀원님 덕분에 찾아 낼 수 있었다. 제발 구글링 좀해라!
1. public class Main 할 때 중괄호를 몇 개 써 넣는 거냐 {} 확인 좀 잘하고
'class' or 'interface' expected
에러 메시지가 나왔으면 그냥 읽지말고 구글링 구글링 구글링!!!
2. 그리고 이부분에서 result 결과 값 받와야하는 줄 알고 그냥 result 썼는데 그게 아니라 일단 값을 넣어야 결과가 나온다. 그래서 "" 쌍따옴표 넣어줬더니 실행이 된다!!!
System.out.println(solution("result"));
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘] 없는 숫자 더하기 - 어렵다 (0) | 2022.05.14 |
---|---|
[알고리즘] 문자열을 정수로 바꾸기 (0) | 2022.05.14 |
[알고리즘] 두 정수 사이의 합 (0) | 2022.05.14 |
[알고리즘] 짝수와 홀수 (0) | 2022.05.13 |
[알고리즘] 직사각형 별찍기 (0) | 2022.05.13 |