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
- database
- 파이썬
- Tree
- string
- Method
- 코테
- Binary Tree
- java
- array
- Stack
- 자바
- implement
- Data Structure
- 코딩테스트
- greedy
- hash table
- Counting
- Binary Search
- 구현
- Number Theory
- two pointers
- simulation
- bit manipulation
- Class
- dynamic programming
- SQL
- Math
- Matrix
- sorting
- geometry
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2194. Cells in a Range on an Excel Sheet 본문
1. Input
1) 엑셀의 셀 범위를 담은 문자열 s
- 열은 맨 앞에서부터 A, B, C, ...
- 행은 맨 위에서부터 1, 2, 3, ...
- 셀의 주소는 A1, B3 등 열번호가 먼저 온다.
2. Output
1) 해당 범위의 셀의 위치를 담은 문자열 List
- 나타내야하는 행렬이 2줄 이상이라면 열번호 - 행번호 순으로 정리한 후 반환한다.
3. Constraint
1) s.length == 5
2) 'A' <= s[0] <= s[3] <= 'Z'
3) '1' <= s[1] <= s[4] <= '9'
4) s는 영어 대문자와 숫자, :으로 이루어져 있다.
4. Example
Input: s = "K1:L2" -> Output: ["K1","K2","L1","L2"]
Input: s = "A1:F1" -> Output: ["A1","B1","C1","D1","E1","F1"]
5. Code
1) 첫 코드(2022/06/12)
char start_col = s.charAt(0);
char last_col = s.charAt(3);
int start_row = s.charAt(1) - '0';
int last_row = s.charAt(4) - '0';
List<String> result = new ArrayList();
String tmp = "";
for(int i=start_col ; i<=last_col ; i++){
for(int j=start_row ; j<=last_row ; j++){
tmp = (char)i + "";
tmp += j + "";
result.add(tmp);
} // for j - digit
} // for i - alphabet
return result;
2) 불필요한 부분을 줄여본 코드(2023/01/15)
List<String> result = new ArrayList();
for(int i=s.charAt(0) ; i<=s.charAt(3) ; i++){
String col = (char)i + "";
for(int j=s.charAt(1)-'0' ; j<=s.charAt(4)-'0' ; j++){
result.add(col+j);
}
}
return result;
- 시간/공간 절약이 많이 됐다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2224. Minimum Number of Operations to Convert Time (0) | 2023.01.15 |
---|---|
[LeetCode/Easy] 2220. Minimum Bit Flips to Convert Number (0) | 2023.01.15 |
[LeetCode/Easy] 2185. Counting Words With a Given Prefix (0) | 2023.01.15 |
[LeetCode/Easy] 2180. Count Integers With Even Digit Sum (0) | 2023.01.15 |
[LeetCode/Easy] 2176. Count Equal and Divisible Pairs in an Array (0) | 2023.01.15 |