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
- todo
- ToDoList
- 미터프리터
- 정보시스템
- 취약점진단
- programmers
- SQL Injection
- study
- wpscan
- todo List
- 취약점
- 써니나타스
- metasploit
- algotithm
- meterpreter
- CSRF
- StringBuilder
- SQLMap
- Algorithm
- hackerrank
- 라우터
- Suninatas
- HTML Injection
- 모의해킹
- 모드 설정
- leetcode
- Router
- stock price
- java
- 웹해킹
Archives
- Today
- Total
보안 / 개발 챌린저가 목표
[AlphaGo Study] [LeetCode] [JAVA] 136. Single Number 본문
문제 설명
Given a non-empty array of integers nums, every element appers twice except for one. Find that single one.
Follow up : Could you implement a solution with a linear runtime domplecity and without using extra memory?
제한 사항
☞ 1 ≤ nums.length ≤ 3 * 10⁴
☞ -3 * 10⁴ ≤ nums[i] ≤ 3 * 10⁴
☞ Each element in the array appears twice except for one element which appears only once.
입출력 예
Input | Output |
[2, 2, 1] | 1 |
[4, 1, 2, 1, 2] | 4 |
[1] | 1 |
입출력 예 설명
#예제1
nums의 값이 2, 2, 1 일 때 2는 두 번 이고 1이 한 번 있다. 따라서 1을 출력한다.
leetcode.com/problems/single-number/
문제를 풀기 전 THINK
§ 주어진 nums를 정렬.
§ 맨 처음 index부터 2개를 비교한 다음, 2개가 같으면 그 다음을 비교.
ex) i = 0 일 때, nums[0] 과 nums[1] 을 비교하여 두 값이 서로 같으면 nums[2] 와 nums[3] 을 비교.
이 때, i = 0에서 i = 2로 넘어가므로 i = i + 2를 해주어야 함.
§ 모두 비교했을 때 같은 값이 나왔다면, 마지막에 있는 값이 한 개 인 값이므로 해당 값을 return.
나의 Solution
import java.util.Arrays;
public class SingleNumber {
public static int singleNumber(int[] nums) {
int n_len = nums.length;
// nums 정렬
Arrays.sort(nums);
// 2개 비교해서 같으면 2개 뒤로 넘어감.
// ex) nums[0]이랑 nums[1] 비교한 다음 nums[2]랑 nums[3] 비교
for(int i = 0; i < n_len - 1; i+=2) {
if(nums[i] != nums[i + 1]) {
return nums[i];
} // if end
} // for end
// 다 비교했을 때 모두 같으면 마지막 값이 하나인 값
return nums[n_len - 1];
}
}
'Development > Algorithm' 카테고리의 다른 글
[AlphaGo Study] [LeetCode] [JAVA] 15. 3 Sum (0) | 2020.10.17 |
---|---|
[AlphaGo Study] [LeetCode] [JAVA] 43. Multiply Strings (0) | 2020.10.15 |
[AlphaGo Study] [LeetCode] [JAVA] 1. Two Sum (0) | 2020.10.04 |
[AlphaGo Study] [Programmers] [JAVA] 큰 수 만들기 (0) | 2020.10.03 |
[AlphaGo Study] [LeetCode] [JAVA] 448. Find All Numbers Disappeared in an Array (0) | 2020.09.28 |
Comments