티스토리 뷰
👶🏼 첫번째 코드
>> 자바 스터디로 알게된 ArrayList를 쓰면 쉽게 풀리지 않을까 싶어서 썼는데 답은 나오지만 시간초과가 걸렸다.
String 배열을 모두 ArrayList로 옮긴다음에 r(remove) 리스트에 넣고, p(participant) 리스트에 추가해주는 함수이다.
public static String solution(String[] participant, String[] completion) {
ArrayList<String> p = new ArrayList<>();
ArrayList<String> c = new ArrayList<>();
ArrayList<String> r = new ArrayList<>();
for (int i=0; i<participant.length;i++) {
p.add(participant[i]);
}
for (int i=0; i<completion.length;i++) {
c.add(completion[i]);
}
for (String comp : c) {
if (p.contains(comp)) {
r.add(comp);
}
}
for (String remo : r ) {
p.remove(remo);
}
return p.get(0);
}
👦🏼 두번째 코드
>> 위와 같은 비슷한 방법의 코드인데 ArrayList를 쓰지않았고, 겹치는게 있으면 participant배열에서 "1"로 만들어 이름을 지워주는 방식으로 하였다.
마찬가지로 정답은 잘 나오지만 시간초과가 걸린다.
public String solution(String[] participant, String[] completion) {
int index = 0;
String answer =null;
for (int i=0; i<participant.length;i++) {
for (int j=0;j<completion.length;j++) {
if (participant[i].equals(completion[j])) {
participant[i] = "1";
completion[j] = "2";
break;
}
}
}
for (int i=0; i<participant.length;i++) {
if (participant[i] != "1")
answer = participant[i];
}
return answer;
}
👱🏼 새번째 코드 (성공)
>> 두 배열을 모두 정렬해준다음에 서로 같지않으면 return 하도록 하였다.
순서대로 정렬하고 비교한다면 누가 빠졌는지 알수있겠지..
public static String solution(String[] participant, String[] completion) {
String answer = null;
Arrays.sort(participant);
Arrays.sort(completion);
for (int i=0;i<completion.length;i++) {
if (!(participant[i].equals(completion[i]))) return participant[i]; //다르면 return
}
return participant[participant.length-1]; // 마지막까지 안나오면 마지막애 return
}
👴🏼 해쉬맵을 사용한 코드
>>
'ALGORITHM > Programmers' 카테고리의 다른 글
[프로그래머스] N개의 최소공배수.go (0) | 2021.11.01 |
---|---|
[프로그래머스] 게임 맵 최단거리.py (0) | 2021.06.06 |
[ 파이썬 ] 서울에서 김서방 찾기 (0) | 2020.05.01 |
[ 파이썬 ] 문자열 다루기 기본 (0) | 2020.05.01 |
[Programmers] 탑 (0) | 2019.11.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- taggit
- go
- Two Scoops of Django
- django
- 방금그곡
- for-else
- 프로그래머스
- 의대 신경학 강의
- 백준
- 팰린드롬수
- 문자열 뒤집기
- dfs
- Python
- go context
- query
- sql lite
- ManyToMany
- leetcode
- 파이썬
- stdout
- conTeXt
- 독후감
- gunicorn
- 소프트웨어 장인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함