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
- hash table
- database
- bit manipulation
- Math
- Tree
- sorting
- java
- geometry
- Counting
- 파이썬
- implement
- string
- SQL
- Stack
- 코딩테스트
- Binary Tree
- greedy
- 자바
- Method
- Data Structure
- array
- 구현
- dynamic programming
- two pointers
- Number Theory
- 코테
- Class
- Matrix
- simulation
- Binary Search
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Medium] 537. Complex Number Multiplication 본문
1. Input
1) "real+imaginaryi" 형태의 복소수를 담은 String 변수 num1, num2
2) real: [-100, 100] 범위 내의 정수. 복소수의 실수부
3) imaginary: [-100, 100] 범위 내의 정수. 복소수의 허수부
2. Output
1) num1과 num2의 곱의 결과를 담은 String 변수
2) i^2 == -1
3. Constraint
1) num1, num2는 유효한 복소수
4. Example
Input: num1 = "1+-1i", num2 = "1+-1i"
Output: "0+-2i"
설명: (1 - i) * (1 - i) = 1 - i - i + i^2 = -2i이므로 "0+-2i"
5. Code
1) 첫 코드(2022/08/23)
int a1=0, a2=0, b1=0, b2=0;
for(int i=0 ; i<num1.length() ; i++)
if(num1.charAt(i)=='+'){
a1 = Integer.valueOf(num1.substring(0,i));
b1 = Integer.valueOf(num1.substring(i+1,num1.length()-1));
break;
}
for(int i=0 ; i<num2.length() ; i++)
if(num2.charAt(i)=='+'){
a2 = Integer.valueOf(num2.substring(0,i));
b2 = Integer.valueOf(num2.substring(i+1,num2.length()-1));
break;
}
return (a1*a2-b1*b2) + "+" + (a1*b2+a2*b1) + "i";
- +를 기준으로 실수부와 허수부를 나눈다.
- 계산 후 반환한다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 69. Sqrt(x) (0) | 2022.08.23 |
---|---|
[LeetCode/Easy] 58. Length of Last Word (0) | 2022.08.23 |
[LeetCode/Medium] 1314. Matrix Block Sum (0) | 2022.08.23 |
[LeetCode/Medium] 2221. Find Triangular Sum of an Array (0) | 2022.08.19 |
[LeetCode/Medium] 1561. Maximum Number of Coins You Can Get (0) | 2022.08.19 |