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
- geometry
- Stack
- simulation
- database
- Binary Tree
- Data Structure
- string
- Tree
- dynamic programming
- Counting
- Method
- bit manipulation
- 구현
- Binary Search
- array
- Math
- 코테
- java
- SQL
- Class
- hash table
- Number Theory
- greedy
- 자바
- 코딩테스트
- implement
- sorting
- 파이썬
- Matrix
- two pointers
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2325. Decode the Message 본문
1. Input
1) String key
2) String message
2. Output
1) key를 이용해 message를 해독한 결과를 반환
- key에 나온 순서대로 a부터 매칭한다.
- 이때, key에 중복된 알파벳이 있다면 맨 처음 나온 것만 고려한다.
- 공백 문자를 공백 문자로 매칭한다.
3. Constraint
1) 26 <= key.length <= 2000
2) key와 message는 영어 소문자와 공백문자로 이루어져 있다.
3) key에는 각 영어 소문자가 최소 1개 이상 들어있다.
4) 1 <= message.length <= 2000
4. Example
Input: key = "the quick brown fox jumps over the lazy dog", message = "vkbs bs t suepuv" -> Output: "this is a secret"
설명: key - 알파벳의 관계는 다음 그림과 같다.
5. Code
1) 첫 코드(2023/05/02)
class Solution {
public String decodeMessage(String key, String message) {
ArrayList<Character> dict = new ArrayList<>();
for(int i=0 ; i<key.length() ; i++){
char c = key.charAt(i);
if(c!=' ' && !dict.contains(c))
dict.add(c);
}
char[] c = message.toCharArray();
for(int i=0 ; i<c.length ; i++)
if(c[i]!=' ')
c[i] = (char)(dict.indexOf(c[i])+'a');
return new String(c);
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2363. Merge Similar Items (0) | 2023.05.02 |
---|---|
[LeetCode/Easy] 2357. Make Array Zero by Subtracting Equal Amounts (0) | 2023.05.02 |
[프로그래머스/Lv.0] 이차원 배열 대각선 순회하기 (0) | 2023.05.01 |
[프로그래머스/Lv.0] 정사각형으로 만들기 (0) | 2023.05.01 |
[프로그래머스/Lv.0] 조건에 맞게 수열 변환하기 2 (0) | 2023.05.01 |