개인 공부/TIL
[ TIL - PGS ] 99클럽 코테 스터디 5일차 TIL + 오늘의 학습 가이드
킴도비
2024. 7. 26. 21:39
💡 오늘의 학습 키워드
- 해시(지만 사용하지는 않은..)
✅ 오늘 공부한 내용
- startWith
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 오늘의 프로그래머스 문제! 전화번호 목록
👀 오늘의 회고
🤣 오늘의 문제점
- 1차로 풀었을 땐.. 그냥 투포인터면 해결 😉 이라 생각하고 했다게 대차게 틀렸다.
- 2차로 풀 때는 중간에 조건 문으로 for문을 빠르게 벗어날 수 있게 해 성공한 확률이 높아졌지만 여전히 실패했다.
- 3차로 풀 때는 contains를 equals로 변경 이후 sort로 먼저 배열을 정렬하여 더 빠르게 진행했으나 효율성 테스트에서 실패..!
- 4차로 풀 때는 for문을 하나 줄여보았다..! 정렬 이후 바로 뒷 문장과 비교만 하면 되었기에.. 시도했으나 여전히 15, 19 테스트 케이스에서 실패하였다 😥
- 마지막 5차에서는 gpt 선생님께...도움을 살짝 구해보았는데 startsWith이라는 것을 사용하는 사례를 보여주길래 써보니 성공하였다
더보기

무수한 실패 기록



🔥 어떤 시도를 했는가?
- startsWith을 쓰기 전에는 위와 같이 시도를 하였었고, startsWiith을 쓰니 성공하였다.
- 아래는 성공한 코드 ~.~
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
// 전화번호
// 다른 번호의 접두어인가?
// 구조대 전화번호 , 영석이의 전화번호의 접두사이다.
// 접두어라면 false 아니라면 true
boolean answer = true;
Arrays.sort(phone_book);
int len = phone_book.length;
for (int i = 0; i < len - 1; i++) {
if (phone_book[i + 1].startsWith(phone_book[i])) {
return false;
}
}
return answer;
}
}
👏 무엇을 새로 알았는가?
- startsWith이란?
- 내가 찾는 문자열이 특정 문자 또는 문자열로 시작하거나 끝나는지에 대해 체크할 수 있는 함수
- boolean 형태이며 아래와 같이 사용할 수 있다.
- 있는가 비교할문장.startsWith("원하는단어");
String str1 = "java test";
// 시작하는가 비교
System.out.println(str1.startsWith("java");
// 끝나는지 비교
System.out.println(str2.endsWith("test");
- 아! 추가로 얘네 원래 태그가 Hash여서 Hash로 나중에 다시 풀어서 업데이트를 해야할 것 같다!
👩💻 내일은 무엇을 학습할 것인가?
- 항해99 문제 풀기