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
- 프로그래머스 #mysql #역순 정렬하기 #알고리즘 #코린이 #개발자 #study
- 코린이 #개발자 #study
- 프로그래머스 #mysql #경기도에 위치한 식품창고 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #모음 제거 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #아픈 동물 찾기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #자동차 대여 기록에서 장기/단기 대여 구분하기 #코린이 #개발자 #study
- 프로그래머스 #mysql #12세 이하인 여자 환자 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #python 개발자 찾기 #알고리즘 #mysql #코린이 #개발자 #study
- 백준 #네 번째 점 #3009 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #흉부외과 또는 일반외과 의사 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #인기있는 아이스크림 #코린이 #개발자 #study
- 백준 #일곱 난쟁이 #2309 #자바 #java #알고리즘 #코린이 #개발자 #study
- 백준 #4153 #직각삼각형 #알고리즘 #자바 #java #코린이 #개발자 #study
- 백준 #
- 백준 #다이얼 #5622 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #어린 동물 찾기 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기의 평균 길이 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #한 해에 잡은 물고기 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #
- 프로그래머스 #mysql #알고리즘 #이름이 있는 동물의 아이디 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기 중 가장 큰 물고기의 길이 구하기 #알고리즘 #mysql #코린이 #개발자 #study
- 프로그래머스 #조건에 맞는 회원수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 특정 옵션이 포함된 자동차 리스트 구하기 #코린이 #개발자 #study
- 프로그래머스 #나이 정보가 없는 회원 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #동명 동물 수 찾기 #알고리즘 #코린이 #개발자
- 프로그래머스 #과일로 만든 아이스크림 고르기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #가장 큰 물고기 10마리 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- mysql #min() #max() #최소값 #최대값 #코린이 #개발자 #study
- 프로그래머스 #동명 동물 수 찾기 #mysql #데이터베이스 #db #코린이 #개발자 #알고리즘
Archives
- Today
- Total
luke
[백준] - 알파벳 찾기 (10809) (자바/Java) 본문
https://www.acmicpc.net/problem/10809
문제.
풀이.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[26];
for (int i = 0; i < arr.length; i++) {
arr[i] = -1;
}
String str = sc.nextLine();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (arr[ch - 'a'] == -1) {
arr[ch - 'a'] = i;
}
}
for (int val : arr) {
System.out.print(val + " ");
}
}
}
이번 문제는 시간이 걸렸다. 조금 더 다양한 문제들을 많이 풀어봐야겠다.
우선 풀이부터 가보겠다.
1. 알파벳 a-z까지 담고 있는 [26] 배열을 생성한 후 출력했을 때 모든 값이 -1로 나오게 해 준다.
2. 문자열이 주어진다.
3. 주어진 문자열 길이만큼 반복을 통해 charAt() 메서드를 사용해 한 글자씩 추출해 ch 변수에 담아준다.
4. 이 부분에서 중요한데 ch의 문자 위치를 arr배열의 값으로 바꿔줄 것이다.
아스키코드를 사용한다. 'a'를 10진수로 나타내면 97인데 'b'가 들어왔을 때 arr [ b(98) - a(97) ] = arr[1] 이 된다.
즉 arr[1] = i (0)
알파벳 b는 arr배열에 0 출력되는 것이다. 하나를 더 예시를 들자면 'a'가 들어왔다면 arr[ a(97) - a(97) ] = arr [0]
arr [0] = i (1) 위치는 1인 것이다.
최대한 설명해 보겠다 설명했지만... 아직 필자의 설명의 부족함이 많아 이해하기 어려우실 수도 있다 생각이 듭니다..
더욱더 매끄럽고 이해하기 쉽게 설명할 수 있도록 노력하겠습니다..!!!
'알고리즘문제 > 백준 문제(Java)' 카테고리의 다른 글
[백준] - 최소공배수 (1934) (자바/Java) (0) | 2024.03.11 |
---|---|
[백준] - 팩토리얼 (10872) (자바/Java) (0) | 2024.03.11 |
[백준] - 커트라인 (25305) (자바/Java) (0) | 2024.03.09 |
[백준] - 문자열 반복 (2675) (자바/Java) (3) | 2024.02.29 |
[백준] - 알람 시계 (2284) (자바/Java) (0) | 2024.02.27 |