Algorithms/Programmers 132

[Programmers] 전화번호 목록

문제 조건 배열에 있는 번호 중 접두어가 되는 번호가 있으면 True 반환, 없으면 false반환 문제 풀이 배열 정렬 후, 배열 요소 비교 후 접두어가 되지 않으면 바로 false반환 이중 반복문을 사용하면 시간초과 배열 정렬을 이용해서 반복문 한번으로 해결 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[Programmers] 소수 만들기

문제 조건 주어진 배열의 숫자 3개를 더해 만든 수 중 소수의 갯수를 반환 문제 풀이 배열의 숫자 3개를 더해 만든 수를 list에 저장, 이 때 소수의 최대 범위를 구하기 위해 가장 큰 수를 체크 에라토스테네스의 체 알고리즘을 이용해 boolean배열로 소수인 숫자의 배열을 true로 변환 list의 숫자가 소수이면 answer값 ++ https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 참고자료 https://eblee-repo.tistory.c..

[Programmers] 신규 아이디 추천

문제 조건 아이디의 길이는 3자 이상 15자 이하 아이디는 알파벳소문자, 숫자, 부호(-, _, . ) 세가지만 사용 가능 하지만 .은 처음과 끝에 사용할 수 없으며, 연속으로 사용 불가 해당 조건을 만족하는 아이디 값 반환 문제에 주어진 7가지 처리 과정을 그대로 구현하면 됨 문제 풀이 dotCnt로 .의 갯수를 파악 -> 몇개가 있어도 연속으로 사용 불가 만약 대문자라면 소문자로 변환, 이전에 .이 있었다면 .붙이고 소문자 변환 허용된 부호, 소문자, 숫자라면 answer에 붙여줌 허용 가능한 문자들로 이루어지면 추가 조건 확인 answer가 빈문자라면 a를 붙여줌 맨 처음이 .이면 .제거 길이가 16이상이면 15까지 잘라줌 맨 마지막이 .이면 .제거 answer의 길이가 3보다 작으면 answer의..

[Programmers] 없는 숫자 더하기

문제 조건 numbers는 1에서 9까지, 이 중 없는 숫자를 더해 반환 하기 문제 풀이 주어진 numbers의 배열을 정렬 0부터 numbers의 index값과 i값이 맞는지 확인 불일치하면 없는 숫자이므로 answer에 i 값 더해주기 있다면 idx값을 높여 다음 숫자 확인 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[Programmers] 최소 직사각형

문제 조건 sizes에 있는 명함사이즈를 모두 충족 시킬 수 있는 사이즈를 찾는다. 가로 X 세로로 주어지지만, 명함을 가로로 눕혀 세로 X 가로가 될 수 있다. 문제 풀이 주어진 sizes 2차원 배열의 sizes[i][j]의 값을 정렬한다. 배열의 큰 값을 sizes[i][0]으로, 작은값을 sizes[i][1]로 바꾼다 sizes[i][0]의 가장 큰 값과 sizes[i][1]의 가장 큰 값을 곱한 값을 반환한다. https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. prog..

[Programmers] 나머지가 1이 되는 수 찾기

문제 조건 주어진 숫자 N을 나눈 나머지가 1이 되는 가장 작은 수를 찾기 문제 풀이 N을 1부터 N까지 나눠보고 나머지가 1이 되는 숫자가 나오면 해당 숫자 반환 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[Programmers] 숫자 문자열과 영단어

문제 조건 영단어로 쓰인 단어를 숫자로 대응하여 바꿔준 값을 반환 문제 풀이 주어진 문자열의 문자 하나하나 확인 숫자라면 그대로 tmp2에 붙여주고 문자라면 tmp에 붙여 어떤 단어인지 확인 후, 대응하는 숫자를 tmp2에 붙여줌 반환값은 int 형이기 때문에 문자열을 숫자로 변환하여 반환 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[Programmers] 성격 유형 검사하기

문제 조건 {'R', 'T'}, {'C', 'F'}, {'J', 'M'}, {'A', 'N'} 총 4가지 지표, 2가지 유형 0부터 7까지 선택지로 점수를 획득 가능 choices의 1 - 3 의 범위 내 일 경우, survey[i]의 앞 문자가 점수 획득 choices의 4 - 7 의 범위 내 일 경우, survey[i]의 뒷 문자가 점수 획득 4를 기준으로 두 유형의 점수의 구분이 됨 최종적으로 점수가 같다면 주어진 지표에서 앞 순서가 성격 유형으로 지정 문제 풀이 미리 지표가 지정 되어 있으므로, 2차원 배열로 성격 유형 지정 nullPointException방지를 위해 미리 map에 성격 유형을 입력 servey 배열의 문자와 choices의 값을 확인해서 map에 성격에 따른 점수 계산 2차원 ..

[Programmers] 신고 결과 받기

문제 조건 report에 "신고한 사람 신고 당한 사람"이 띄어쓰기 하나로 구분되어 있음 k번 이상 신고당하면 정지 회원 신고 한 사람에게 신고당한 회원이 정지를 당하면 처리 결과 메일을 보내줘야함 id_list 별로 메일을 보내야 하는 숫자를 배열로 리턴 중복 신고는 한 번 만 처리함 문제 풀이 중복을 허용하지 않기 때문에 Set에 report의 값을 넣어 중복 제거 Map에 신고당한 회원과 신고 된 숫자를 입력 만약 신고 숫자가 K를 넘으면 listReport에 이름을 넣어 정지회원을 구분 id_list[i]의 회원이 신고한 회원이 listReport에 이름이 있는 회원이라면 answer[i]++ 로 처리 결과 메일 숫자 올려줌 https://school.programmers.co.kr/learn/c..

[Programmers] 숫자 짝꿍

문제 조건 X와 Y에 동일한 숫자가 있으면 숫자 짝꿍이 됨 숫자 짝꿍의 숫자로 가장 큰 숫자를 조합 문제 풀이 numX 배열, numY 배열을 만들어 X, Y에 숫자가 몇 개 씩 있는지 파악 가장 큰 숫자로 조합해야하므로 9부터 확인 numX 배열, numY 배열의 동일한 숫자가 있는지 확인 있다면 answer에 해당 숫자를 붙여줌 만약 answer가 빈 값이라면 숫자 짝꿍이 없으므로 "-1" 반환 만약 answer의 맨 앞자리가 "0"이라면 "0" 반환 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 ..