Top 19 전화 번호 목록 Best 31 Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 전화 번호 목록 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 전화 번호 목록 테스트 전화번호, 전화 코딩, 전화 번호부 알고리즘


전화번호 목록 프로그래머스 파이썬 문제 풀이
전화번호 목록 프로그래머스 파이썬 문제 풀이


코딩테스트 연습 – 전화번호 목록 | 프로그래머스 스쿨

  • Article author: school.programmers.co.kr
  • Reviews from users: 17316 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 코딩테스트 연습 – 전화번호 목록 | 프로그래머스 스쿨 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화 … …
  • Most searched keywords: Whether you are looking for 코딩테스트 연습 – 전화번호 목록 | 프로그래머스 스쿨 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화 … 코딩 교육, 코딩, 프로그래밍, 실습, 생활코딩, 알고리즘, cpp
  • Table of Contents:
코딩테스트 연습 - 전화번호 목록 | 프로그래머스 스쿨
코딩테스트 연습 – 전화번호 목록 | 프로그래머스 스쿨

Read More

[ 프로그래머스 ] 전화번호 목록 ( C++ )

  • Article author: codingwell.tistory.com
  • Reviews from users: 11598 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [ 프로그래머스 ] 전화번호 목록 ( C++ ) 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … …
  • Most searched keywords: Whether you are looking for [ 프로그래머스 ] 전화번호 목록 ( C++ ) 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … 인덱스 접근 오류가 몇번 나서 고치는 것 말고는 문제 이해도 쉽고 풀기에도 어렵지 않았던 문제다. 다른 사람의 풀이를 보던 중, 나와 너무 다르고 쉽게 접근한 것을 발견했다. 그리고 문제 자체가 해시에 분류되..
  • Table of Contents:

티스토리 뷰

티스토리툴바

[ 프로그래머스 ]  전화번호 목록 ( C++ )
[ 프로그래머스 ] 전화번호 목록 ( C++ )

Read More

[프로그래머스 / Level2] 전화번호 목록 (Java)

  • Article author: bada744.tistory.com
  • Reviews from users: 11014 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [프로그래머스 / Level2] 전화번호 목록 (Java) 첫번째 테스트케이스를 예시로 설명해보자. 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하기 위해서는 “119” … …
  • Most searched keywords: Whether you are looking for [프로그래머스 / Level2] 전화번호 목록 (Java) 첫번째 테스트케이스를 예시로 설명해보자. 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하기 위해서는 “119” … 문제 https://programmers.co.kr/learn/courses/30/lessons/42577?language=java 코딩테스트 연습 – 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니..
  • Table of Contents:

will come true

[프로그래머스 Level2] 전화번호 목록 (Java) 본문

문제

풀이

코드

티스토리툴바

[프로그래머스 / Level2] 전화번호 목록 (Java)
[프로그래머스 / Level2] 전화번호 목록 (Java)

Read More

[프로그래머스/Python] 해시 – 전화번호 목록

  • Article author: da2uns2.tistory.com
  • Reviews from users: 47807 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [프로그래머스/Python] 해시 – 전화번호 목록 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … …
  • Most searched keywords: Whether you are looking for [프로그래머스/Python] 해시 – 전화번호 목록 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … 전화번호 목록 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다…당닝의 개발일기
  • Table of Contents:
[프로그래머스/Python] 해시 - 전화번호 목록
[프로그래머스/Python] 해시 – 전화번호 목록

Read More

5052번: 전화번호 목록

  • Article author: www.acmicpc.net
  • Reviews from users: 49746 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 5052번: 전화번호 목록 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 걸리기 때문이다. 따라서, 이 목록은 일관성이 없는 목록이다. 입력. 첫째 줄에 테스트 케이스 … …
  • Most searched keywords: Whether you are looking for 5052번: 전화번호 목록 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 걸리기 때문이다. 따라서, 이 목록은 일관성이 없는 목록이다. 입력. 첫째 줄에 테스트 케이스 … ACM-ICPC, ICPC, 프로그래밍, 온라인 저지, 정보올림피아드, 코딩, 알고리즘, 대회, 올림피아드, 자료구조
  • Table of Contents:

문제

입력

출력

제한

예제 입력 1
복사

예제 출력 1
복사

힌트

출처

Baekjoon Online Judge

채점 현황

문제

유저 대회 고등학교 대회

출처

대학교 대회

도움말

5052번: 전화번호 목록
5052번: 전화번호 목록

Read More

프로그래머스 전화번호 목록 c++,java (해시)

  • Article author: ongveloper.tistory.com
  • Reviews from users: 3808 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 프로그래머스 전화번호 목록 c++,java (해시) 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 – 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호 … …
  • Most searched keywords: Whether you are looking for 프로그래머스 전화번호 목록 c++,java (해시) 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 – 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호 … 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 – 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화..
  • Table of Contents:

풀이

코드(c++map)

코드(c++sort)

코드(java효율성 시간초과)

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

티스토리툴바

프로그래머스  전화번호 목록 c++,java (해시)
프로그래머스 전화번호 목록 c++,java (해시)

Read More

[프로그래머스] 해시 – 전화번호 목록

  • Article author: velog.io
  • Reviews from users: 42801 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [프로그래머스] 해시 – 전화번호 목록 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … …
  • Most searched keywords: Whether you are looking for [프로그래머스] 해시 – 전화번호 목록 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
  • Table of Contents:

알고리즘 문제

1 On my own(1)

2 Best Code(1)

3 Best Code(2)

4 On my own(2)

[프로그래머스] 해시 -  전화번호 목록
[프로그래머스] 해시 – 전화번호 목록

Read More

[Programmers] 해시 Lv2 전화번호 목록 – Java :: 자바랑 코덕코덕

  • Article author: dos-soles.tistory.com
  • Reviews from users: 8192 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Programmers] 해시 Lv2 전화번호 목록 – Java :: 자바랑 코덕코덕 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … …
  • Most searched keywords: Whether you are looking for [Programmers] 해시 Lv2 전화번호 목록 – Java :: 자바랑 코덕코덕 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 … [문제] https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 – 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호..
  • Table of Contents:
[Programmers] 해시 Lv2 전화번호 목록 – Java

티스토리툴바

[Programmers] 해시 Lv2 전화번호 목록 - Java :: 자바랑 코덕코덕
[Programmers] 해시 Lv2 전화번호 목록 – Java :: 자바랑 코덕코덕

Read More


See more articles in the same category here: https://toplist.maxfit.vn/blog/.

[ 프로그래머스 ] 전화번호 목록 ( C++ )

인덱스 접근 오류가 몇번 나서 고치는 것 말고는

문제 이해도 쉽고 풀기에도 어렵지 않았던 문제다.

다른 사람의 풀이를 보던 중, 나와 너무 다르고 쉽게 접근한 것을 발견했다.

그리고 문제 자체가 해시에 분류되어 있는 만큼 해시를 이용해 푼 풀이도 있었다.

그래서 정리를 해보려고한다.

<문제>

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.

전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.

구조대 : 119

박준영 : 97 674 223

지영석 : 11 9552 4421

전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.

제한 사항

phone_book의 길이는 1 이상 1,000,000 이하입니다.

각 전화번호의 길이는 1 이상 20 이하입니다.

입출력 예제

phone_book return [119, 97674223, 1195524421] false [123,456,789] true [12,123,1235,567,88] false

입출력 예 #1

앞에서 설명한 예와 같습니다.

입출력 예 #2

한 번호가 다른 번호의 접두사인 경우가 없으므로, 답은 true입니다.

입출력 예 #3

첫 번째 전화번호, “12”가 두 번째 전화번호 “123”의 접두사입니다. 따라서 답은 false입니다.

<내 풀이>

#include #include using namespace std; bool solution(vector phone_book) { string s = phone_book[0]; int n = phone_book[0].size(), i = 0, j = 1; while(true) { if (i!=j && phone_book[j].size() >= n && s == phone_book[j].substr(0, n)) return false; if (j == phone_book.size() – 1) { if(i+1 == phone_book.size()) break; i++; j = -1; s = phone_book[i]; n = s.size(); } j++; } return true; }

phone_book의 원소 하나를 기준을 정한 후, 0부터 끝까지 접두어가 될 수 있는지 비교한다.

끝까지 비교한 후 기준이 되는 원소 인덱스 또한 끝까지 늘려간다.

이 때 substr를 이용했다. 사실상 이중 for문이나 마찬가지이며 단순히 모든 원소와 비교한다.

<다른 사람의 풀이>

#include #include #include using namespace std; bool solution(vector phone_book) { sort(phone_book.begin(), phone_book.end()); for (int i = 0 ; i < phone_book.size() - 1 ; i++ ) { if (phone_book[i] == phone_book[i+1].substr(0, phone_book[i].size())) return false; } return true; } phone_book 벡터의 데이터 타입이 string이기 때문에 sort(정렬)을 할 경우 숫자 순으로 정렬이 되는것이 아니라 사전 순 정렬이 된다. 이 점을 생각한 것이 놀라웠다 ! 😨 사전 순으로 정렬을 하기 때문에 인접 원소만 비교를 하면 된다. 위 풀이 말고 해시 풀이도 정리하려한다. #include #include #include using namespace std; bool solution(vector phone_book) { unordered_map hash_map; for(int i = 0; i < phone_book.size(); i++) hash_map[phone_book[i]] = 1; for(int i = 0; i < phone_book.size(); i++) { string phone_number = ""; for(int j = 0; j < phone_book[i].size(); j++) { phone_number += phone_book[i][j]; if(hash_map[phone_number] && phone_number != phone_book[i]) return false; } } return true; } unordered_map을 사용하여 해시를 사용했다. 문자를 하나하나 받아가면서 비교를 했다. 이게 이 문제에서 원하는 풀이일지도 모른다.

Level2] 전화번호 목록 (Java)

728×90

문제

https://programmers.co.kr/learn/courses/30/lessons/42577?language=java

풀이

[입출력 예제]

phone_book return [“119”, “97674223”, “1195524421”] false [“123″,”456″,”789”] true [“12″,”123″,”1235″,”567″,”88”] false

첫번째 테스트케이스를 예시로 설명해보자. 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하기 위해서는 “119”, “97674223”, “1195524421” 세 개의 문자열(A)에 대해 각각 if(A가 접두어인 문자열 B가 존재하는가?”)의 참/거짓을 반복문으로 체크해야 된다. 단순히 한 요소를 이를 제외한 나머지 요소들과 하나씩 비교하면 될 문제지만 이렇게 하나씩 모두 비교할 경우 불필요하게 처리 시간이 많이 걸리게된다. 처리 시간을 줄이기 위해 ‘접두어일 수 있는 경우’만 비교 연산을 수행해야 한다.

1. 반복문

아래 코드는 phone_book 배열을 정렬한 뒤, 반복문을 통해 한 요소가 자신의 오른쪽에 위치한 요소의 접두어인지를 확인하고 있다. 문자열 배열은 기본 사전순 정렬된다(숫자 오름차순 -> 문자열 길이 오름차순). 이렇게 정렬된 상태에서 phone_book[i]가 phone_book[i+1]의 접두어면서 phone_book[i+2]의 접두어일 수는 있어도, phone_book[i+1]의 접두어가 아니지만 phone_book[i+2]의 접두어일 수는 없다. 즉 자신의 오른쪽에 인접한 요소랑만 비교를 수행하면 되는 것. (=불필요한 비교 감소)

public boolean solution(String[] phone_book) { // 1. 숫자 오름차순 -> 길이 오름차순 정렬 Arrays.sort(phone_book); // 2. 앞 번호가 뒷 번호의 접두어인지 체크 for (int i = 0; i < phone_book.length - 1; i++) { if (phone_book[i + 1].startsWith(phone_book[i])) return false; } // 3. for문 내 if조건에 걸리지 않고 끝남 return true; } [String 클래스 메서드] 메서드 설명 boolean startWith(String prefix) 주어진 문자열(prefix)로 시작하는지 검사한다. boolean endWith(String suffix) 주어진 문자열(suffix)로 끝나는지 검사한다. boolean contains(CharSequence s) 지정한 문자열(s)이 포함되었는지 검사한다. int indexOf(String str) 주어진 문자열이 존재하는지 확인하여 그 위치를 알려준다. 없으면 -1을 반환. int lastIndexOf(String str) 주어진 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 그 위치를 알려준다. 없으면 -1을 반환. 2. 해시 for문을 이용해서도 원하는 답을 얻을 수 있지만, 문제 분류가 Hash이기 때문에 HashMap을 사용한 풀이도 알아보자. 문제에서 "같은 전화번호가 중복으로 들어있지 않다."고 조건을 줬기 때문에 중복을 허용하지 않는다는 Key 조건에 부합한다. phone_book 배열의 전화번호를 Key로 하는 HashMap을 생성해준다. 이제 하나의 문자열 A를 대상으로 "A의 접두어가 해시맵에 존재하는가?" 를 체크해주면된다. 이 때 주의할 것은 '접두어'를 찾는 것이 때문에 (문자열의 0번째 문자 ~ 마지막에서 두번째 문자) 까지만 접두어로 뽑아내 비교해야 한다. 예를 들어 테스트케이스가 ["119", "1", "234"] 이고, "문자열A의 접두어가 존재하는가?"에서 문자열 A가 "119" 일 경우, "119"에서 나올 수 있는 접두어는 "1", "11" 이다. 접두어인 문자열이 존재하는지를 2번 체크해야 되는 것이다. 물론 HashMap에 "1"이 존재하기 때문에 첫번째 반복에서 false를 반환(=접두어 문자열 존재함)하고 끝나게 된다. "119"의 접두어 추출 방법 접두어 문자열 존재 여부 "1" "119".subString(0, 1) // 0~0 자르기 true "11" "119".subString(0, 2) // 0~1 자르기 false 코드 import java.util.HashMap; class Solution { public boolean solution(String[] phone_book) { HashMap map = new HashMap<>(); // HashMap에 전화번호 문자열 key 저장 for (String phone_number : phone_book) { map.put(phone_number, 1); } for (String phone_number : phone_book) { for (int j = 1; j < phone_number.length(); j++) { // substring(0, 1) ~ substring(0, length-1) String prefix = phone_number.substring(0, j); if(map.containsKey(prefix)) return false; } } return true; } } 전화번호 문자열을 Key로 하는 HashMap 생성 (※ HashMap의 Key는 중복 불허) 반복문으로 각 전화번호의 접두사가 HashMap에 존재하는지 확인 각 전화번호의 접두사는 (문자열길이 - 1)개 만큼 존재하며, 이 접두사를 하나씩 확인해야 함 *접두사 : substring(0, 1) ~ substring(0, length-1) 전화번호에서 추출해낸 접두사가 HashMap에 존재하면 false 반환 아무 접두사도 HashMap에 존재하지 않아 if문에 걸리지 않고 반복문이 끝났으면 true반환 728x90

[프로그래머스/Python] 해시

728×90

전화번호 목록

문제 설명

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.

전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.

구조대 : 119

박준영 : 97 674 223

지영석 : 11 9552 4421

전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.

제한 사항

phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다.

입출력 예제

phone_book return [“119”, “97674223”, “1195524421”] false [“123″,”456″,”789”] true [“12″,”123″,”1235″,”567″,”88”] false

입출력 예 설명

입출력 예 #1

앞에서 설명한 예와 같습니다.

입출력 예 #2

한 번호가 다른 번호의 접두사인 경우가 없으므로, 답은 true입니다.

입출력 예 #3

첫 번째 전화번호, “12”가 두 번째 전화번호 “123”의 접두사입니다. 따라서 답은 false입니다.

나의 풀이

def solution(phone_book): phone_book.sort() # 문자 정렬은 [“119”, “1195524421”, “97674223”]와 같이 숫자 크기대로 되는 것이 아님. for i in range(len(phone_book)): if i == len(phone_book)-1: break # 정렬을 했기 때문에 두 글자만 비교함 prefix = phone_book[i] other_num = phone_book[i+1] # 접두어가 비교하는 전화번호 맨 앞에 존재할 때 if prefix in other_num and other_num.index(prefix) == 0: return False return True

– 💡 아이디어

먼저 파이썬 내장 라이브러리를 이용하여 전화번호부를 정렬해준다.

숫자를 정렬하면 숫자의 크기순대로 정렬되지만, 문자로 정렬하면 [“119”, “1195524421”, “97674223”]와같이 정렬된다.

따라서 연속되는 두 글자만 비교하면된다. 이는 for문을 사용해서 비교해주었다.

각각 변수명은 prefix와 other_num이라 설정해주었다. prefix가 other_num에 존재하고, prefix가 접두어가 맞다면(index(prefix) == 0)이라면 False를 출력하도록 했다.

– 📚 후기

처음엔 이중 for문을 쓰도록 했다. for문 하나는 prefix를 설정해주는 데 사용하였고, 다른 for문을 통해 prefix와 나머지 리스트 내의 모든 전화번호와 비교하였다.

이렇게 하니 정확성 테스트는 모두 통과하였지만, 효율성테스트에 3,4번 문제에서 계속 시관초과가 떴다.

문자를 정렬하면 저런식으로 정렬이 되는지 몰랐다. 정렬을 사용한 후 앞 뒤 두 글자만 비교하도록 설정했더니 효율성문제가 해결되었다.

– ✏️ 배운점

1. 문자열을 정렬하면 숫자 순서대로 정렬되는 게 아니라는 것.

2. startswith 함수 : 원본 문자열이 매개변수로 입력한 문자로 시작되는지 판단하는 함수(대소문자 구분함) (endswith함수도 있음)

3. hash를 이용한 다른 사람들 코드

def solution(phone_book): answer = True hash_map = {} for phone_number in phone_book: hash_map[phone_number] = 1 for phone_number in phone_book: temp = “” for number in phone_number: temp += number if temp in hash_map and temp != phone_number: answer = False return answer

728×90

So you have finished reading the 전화 번호 목록 topic article, if you find this article useful, please share it. Thank you very much. See more: 테스트 전화번호, 전화 코딩, 전화 번호부 알고리즘

Leave a Comment