Spicy Tuna Sushi
본문 바로가기

분류 전체보기47

[프로그래머스] N개의 최소공배수(C++) https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최대공약수를 구하는 유명한 알고리즘, 유클리드 호제법을 이용한다. 두 숫자를 큰 수 a, 작은 수 b로 구별하여, 두 수가 나누어떨어질 때까지 작은 수와 나머지를 저장한다. 최소공배수는 두 수의 곱/두 수의 최대공약수로 구할 수 있다. 계속 최소공배수를 저장해가며 arr 원소를 방문한다. #include #include #include using namespace std; //최대 공약수 int .. 2022. 8. 12.
[프로그래머스] 피보나치 수(C++) https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 짠 코드는 일부 테케에서 실패해서 잉? 했는데, 마지막 결괏값을 1234567로 나눈 나머지를 리턴하는 것이 아니라, 반복문을 돌릴 때마다 단순히 더하는 것이 아니라 1234567로 나눈 나머지를 저장하는 것이었다. 변수 a,b를 갖고 계속 계산한 값을 저장해준다. #include #include using namespace std; int solution(int n) { int answe.. 2022. 8. 12.
[프로그래머스] 최솟값 만들기(C++) https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떻게 해야 최솟값을 만들 수 있을까? 작은 수는 큰 수와 짝지어주면 된다. 한 벡터는 오름차순, 한 벡터는 내림차순으로 정렬해 주어 같은 인덱스끼리 곱해준다. #include #include using namespace std; int solution(vector A, vector B) { int answer=0; sort(A.begin(),A.end()); sort(B.rbegin(), B.r.. 2022. 8. 12.
[프로그래머스] 큰 수 만들기(C++) https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (대회 준비 겸, 코테도 파이썬으로 쳐보려 했는데 구글링 안되기도 하고 얼마 남지 않아 우선은 C++로 공부하기로 했다.) 이 문제는 String answer을 스택으로 활용하여 풀었다. answer에는 큰 수가 들어올 수 있도록 number와 비교하며 넣어준다. 첫 번째 테스트케이스인 "1924"로 해보자면, 1 (answer) 1 9 2 4 (number) 1. answer이 비었으므로 i=0.. 2022. 8. 11.
[프로그래머스] 짝지어 제거하기(파이썬/Python) https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 무작정 반복문을 이중으로 돌려서 풀었던 문제다. 그렇게 풀어서는 효율성 측면에서 좋은 점수를 받을 수 없다. 스택을 활용하면 효율적으로 손쉽게 풀 수 있다. 아직 파이썬은 낯설다. 엉엉 def solution(s): answer = 0 stack=[] for i in s: if not stack: stack.append(i) else: if stack[-1]==i: stack.pop() .. 2022. 8. 11.
[프로그래머스] 124 나라의 숫자(파이썬/Python) https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 10진수를 3진수로 변환하는 알고리즘과 비슷하다. 그러나 3진수는 120나라다. 이 문제는 124나라, 즉 0 대신 4를 사용하는 나라다. 그러므로 3으로 나누어떨어질 시에는 1을 빼주어야 원하는 결과를 도출할 수 있다. def solution(n): answer = '' while n: if(n%3): answer=str(n%3)+answer n=n//3 else: answer="4"+answe.. 2022. 8. 11.
[프로그래머스] 신고 결과 받기(C++) https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 인덱스로 int가 아닌 다른 자료형을 사용할 수 있는 map, map과 유사하지만 key만 있고 value는 없는 set을 활용했다. 신고된 ID와 신고횟수를 저장하는 map 신고한 ID와 신고된 ID를 저장하는 map을 선언한다. report를 신고한 ID(from)와 신고된 ID(to)로 파싱한 뒤 중복 신고가 아닐 경우 각 map에 정보를 저장한다... 2022. 6. 22.