Baekjoon - 피보나치 함수
·
코딩테스트 연습
https://www.acmicpc.net/problem/1003 문제의 조건은 N이 주어졌을 때, fibonacci(N)을 호출했을 때, 0과 1이 각각 몇 번 출력되는지 구하는 프로그램을 작성하는 것이다. 그리고 제한 시간이 0.25초 라는 것을 명심해야 한다. 문제에서 주어진 대로 재귀 함수로 구현한다면 시간초과가 뜬다.  찾아보니깐 방법이 두가지가 있었다. 1. 메모이제이션2. DP(동적프로그래밍) 이 글에서는 메모이제이션에 대해서 설명하겠다. 피보나치란?피보나치 수열은 F(n) = F(n-1) + F(n-2)의 형태로, 이전 두 수의 합이 현재 수가 되는 수열입니다. 기본 값: F(0) = 0, F(1) = 1예시: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...재귀로 구현했을 때 문..
Baekjoon - 어린왕자
·
코딩테스트 연습
https://www.acmicpc.net/problem/1004 GPT한테 물어보니 DFS/BFS로 어렵게 풀더라 그래서 나는 그냥 단순 구현으로 풀 수 있겠다 생각해서 그렇게 풀었다. 출발점과 도착점 사이에 몇 번의 행성계를 진입하고 이탈해야 하는지 구하는 문제다. 각 행성계는 원으로 주어지며, 두 점이 원의 내부에 있는지 여부를 확인하여 진입/이탈 횟수를 계산할 수 있따. Algorithm각 행성계에 대해 출발점과 도착점이 그 행성계를 포함하는지 여부를 확인합니다.출발점과 도착점이 같은 행성계에 대해 포함되거나 포함되지 않는지 여부를 체크합니다.출발점과 도착점의 상태가 다르면 진입/이탈이 발생한다고 판단하고, 그 횟수를 계산합니다. Code#include #includeusing namespace ..
SW Expert Academy - 22795. 일곱 부하의 평균 D3
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AZND_Dyq8SUDFAWB&categoryId=AZND_Dyq8SUDFAWB&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 잃어버린 난쟁이는 나머지 난쟁이 보다 무조건 크다는 조건을 예외 처리 해주는게 킥이거덩여 import java.util.*;class Solution { ..
SW Expert Academy - 2001. 파리 퇴치 D2
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com문제에 앞서서 누적합이 무엇인지 알아보았다. 누적합 알고리즘 간단 설명누적합은 배열에서 특정 구간의 합을 빠르게 구하려고 각 인덱스까지의 합을 미리 계산해 ..
SW Expert Academy - 1204. 최빈수 구하기 D2
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com Java 로 코드를 짜보니깐 next()랑 nextLine()을 하나만 골라서 사용하는게 편하다는 생각을 했다. 다음부터 통일 시켜서 구현해봐야지. 최빈수..
SW Expert Academy - 22979. 문자열 옮기기 D3
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AZPOBiaqNo8DFAWB SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com코딩에 앞서  java 초보인 만큼 코드를 작성하면서 고려한 사항과 적용한 함수에 대해서 작성합니다.java는 다른 언어들에 비해서 문자열과 정수를 입력받는데 개념을 확실히 해야된는 것 같다. 1. 문자열 입력next(): 공백을 기준으로 단어 하나만 입력받음.nextLine(): 한 줄을 통째로 입력받음. 공백 포함.주의사항next()와 nextLine()을 함께 사용할 때, 예상치 못한 동작을 할 수..
프로그래머스 주사위 게임3
·
코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/181916?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다.네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 ..
프로그래머스 주식가격
·
코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 알고리즘1. 이중 반복문을 이용하여 기준을 잡고 배열을 쭉 훑는다.2. 자신보다 작은 값이 나올때 까지 cnt를 증가 시켜준다.3. 자신보다 작은 값이 나온다면, 안쪽 반복문을 break해준다.4. 그리고 누적한 cnt값..
프로그래머스 프로
·
코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다.1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다.2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다.3. 만약 그..
프로그래머스 올바른 괄호
·
코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=cpp# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않..