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 |
Tags
- array
- Tree
- Math
- 자바
- 파이썬
- geometry
- 구현
- Method
- Matrix
- database
- two pointers
- hash table
- bit manipulation
- Binary Search
- Binary Tree
- 코테
- java
- 코딩테스트
- Stack
- Data Structure
- Counting
- greedy
- Number Theory
- simulation
- string
- dynamic programming
- sorting
- Class
- SQL
- implement
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Medium] 677. Map Sum Pairs 본문
목표: 문자열과 점수를 매핑하고, 접두어가 입력으로 들어오면 접두어로 시작하는 문자열들의 점수 합을 반환해주는 MapSum 클래스 구현
- 생성자 MapSum()
- insert(), sum()
1. Input
1) insert(): String key, int val
- 매핑될 문자열과 점수가 입력으로 들어온다.
2) sum(): String prefix
- 접두어가 입력으로 들어온다.
2. Output
1) insert() : void
- 문자열과 점수를 매핑해 저장한다.
2) sum(): int
- 접두어로 시작하는 문자열들의 점수 합을 반환한다.
3. Constraint
1) 1 <= key.length, prefix.length <= 50
2) key와 prefix는 영어 소문자로만 이루어져 있다.
3) 1 <= val <= 1000
4) insert()와 sum()은 최대 50번까지 호출된다.
4. Example
MapSum mapSum = new MapSum();
mapSum.insert("apple", 3);
mapSum.sum("ap"); // return 3 (apple = 3)
mapSum.insert("app", 2);
mapSum.sum("ap"); // return 5 (apple + app = 3 + 2 = 5)
5. Code
1) 첫 코드(2023/03/13)
class MapSum {
private HashMap<String, Integer> m;
public MapSum() {
m = new HashMap<String, Integer>();
}
public void insert(String key, int val) {
m.put(key, val);
}
public int sum(String prefix) {
int answer = 0;
Iterator it = m.entrySet().iterator();
while(it.hasNext()){
Map.Entry e = (Map.Entry)it.next();
String s = (String)e.getKey();
if(s.length()>=prefix.length() && s.substring(0,prefix.length()).equals(prefix))
answer += (int)e.getValue();
}
return answer;
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 682. Baseball Game (0) | 2023.03.16 |
---|---|
[LeetCode/Easy] 2535. Difference Between Element Sum and Digit Sum of an Array (0) | 2023.03.13 |
[LeetCode/Easy] 674. Longest Continuous Increasing Subsequence (0) | 2023.03.13 |
[LeetCode/Easy] 2586. Count the Number of Vowel Strings in Range (0) | 2023.03.13 |
[LeetCode/Easy] 2544. Alternating Digit Sum (0) | 2023.03.10 |