본문 바로가기

알고리즘 문제풀이198

[프로그래머스] 알고리즘 74일차 : 문자열 내 마음대로 정렬하기 (C++ 커스텀 정렬) programmers.co.kr/learn/courses/30/lessons/12915?language=cpp 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr C++ 문자열 | 정렬 문자열의 특정 인덱스의 값을 기준으로 정렬하라는 문제 접근 방법 C++ STL의 sort함수 인자로 내가 정의한 compare함수를 전달해서 풀었다. compare함수 안에서는 해당 인덱스의 문자 값이 같을때는 문자열 전체를 비교해서 리턴하고 같지 않은 경우는 그냥 인.. 2021. 1. 28.
[프로그래머스] 알고리즘 73일차 : 3진법 뒤집기 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr C++ 오늘은 뇌코딩하고(원래 코딩은 뇌로 하는 거지만) 폰코딩했다. 10진법 자연수를 입력받아 3진법으로 고친 뒤 3진법을 뒤집어서 그 수를 다시 10진법으로 고치는 문제이다. 접근방법 10진법 n을 3으로 나누면서 나머지를 벡터에 push한다. -> 벡터를 pop 하면서 그 수에 3의 제곱수를(3을 계속 곱해가면서) 곱한다. .. 2021. 1. 27.
[프로그래머스] 알고리즘 72일차 : 소수 찾기 programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr C++ 소수 프로그래머스 코데 연습 문제 level 1 정해진 범위 내에서 소수 개수 찾는 문제인데 단순하게 풀면 시간초과 나서 에라토스테네스의 채로 풀어야 하는 문제 평소에 잘 안쓰는 함수를 써봤다. 오답노트 에라토스테네스 체로 제출했는데도 효율성검사에서 걸렸었는데 틀린 부분은 가장 바깥 반복문 돌때 어차피 배수를 지워나가는거라 반 이상은 돌 필요 .. 2021. 1. 26.
[프로그래머스] 알고리즘 71일차 : 신규 아이디 추천 programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr C++ 문자열 코딩테스트 연습 2021 카카오 블라인드 코테 문제 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 문자열을 이런 규칙을 만족하도록 수정하는 문제 string 메서드 찾아보.. 2021. 1. 25.
[프로그래머스] 알고리즘 70일차 : 두 개 뽑아서 더하기 programmers.co.kr/learn/courses/30/lessons/68644?language=cpp 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr C++ 프로그래머스 코딩테스트 level1 문제이다. 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 풀이 두 개의 수를 뽑는거.. 2021. 1. 21.
[프로그래머스] 알고리즘 69일차 : 크레인 인형뽑기 게임 programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr C++ 문제 유형은.. 시뮬레이션..? 프로그래머스 코딩테스트 연습 level1 문제이다. 카카오 2019 겨울 인턴십 코테 문제 이런 배열이 매개변수로 주어지고 (인형들은 인형의 고유 번호로 표시) 뽑기 크레인이 한번의 움직임 마다 멈추는 열번호 배열(moves)이 주어진다. 무조건 인형이 뽑힌다고 가정하고 뽑은 인형은 오른쪽의 박스에 넣어지는데 같은 인형이 연속으로 들어오면 터진다. 이때 터지는 인.. 2021. 1. 20.
[백준 10867] 알고리즘 68일차 : 중복 빼고 정렬하기 www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net C++ 정렬 저번에 중복빼고 정렬이 아닌 문제를 중복 빼고 처리해버려서 오늘은 그 코드를 그대로 썼습니다..ㅎ sort, unique, erase를 사용했고 자세한 함수 사용 방법은 sio2whocode.tistory.com/63 이곳에 정리되어 있습니다 ! 소스코드 #include #include #include using namespace std; vector arr = vector(); int main(){ int n; cin >> n.. 2021. 1. 19.
[백준 11931] 알고리즘 67일차 : 수 정렬하기4 www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 정렬 C++ 아 무엇. 입력에 중복 없는거 지금봄. 일단 내림차순 정렬 문제고 변명시작. 오늘 정말 상당한 투두를 소화해냈거든요. 그래서 사실 문제풀이는 3/4쯤 포기 했었어요. 하지만 어쩌다보니 시간이 돼서 풀었어요. 하지만 그게 마음대로 되나요 문제 한 4개정도 간보다가 문제 랭크 실버 이상 풀어야해서 실버 5정도만 골라보다가 진짜 안되겠다 싶어서 정렬을 풀기로 했습니다.. 양아치같은 문제 .. 2021. 1. 18.
[백준 2776] 알고리즘 66일차 : 암기왕 www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net C++ 이분탐색 두개의 정수배열이 있고 하나의 배열에서 다른 하나의 배열의 수를 찾는 간단한 문제다. 이번엔 최대값 혹은 최솟값구하는 문제도 아니고 그냥 이분탐색이다. 오히려 이런게 오랜만.. 처음에 시간초과 걸렸었는데 ios::sync_with_stdio(false); cin.tie(0); 쓰고 통과 소스코드 #include #include using namespace std; int T,N,M; int note1.. 2021. 1. 15.