본문 바로가기

💡 코테

(47)
프로그래머스(공원 산책) 💡 오늘의 학습 키워드- 프로그래머스    * 공원 산책 : 미들러 문제(Level 1) 오늘의 회고문제1  : [공원 산책]어떤 문제가 있었고, 나는 어떤 시도를 했는지1차원 String 배열에서 시작점과 이동할 방향, 크기가 주어진다. 마지막으로 위치한 좌표(y, x)를 리턴하는 문제이다.단, 아래의 경우는 해당 명령을 무시하고 다음 명령을 수행한다.주어진 방향으로 이동할 때 공원을 벗어나는지 확인주어진 방향으로 이동 중 장애물을 만나는지 확인일단, 입력된 명령만큼 반복문을 돌며동서남북을 판별하고, 공원을 벗어나는지 / 장애물을 만나는지 확인한다.그렇게 로직자체는 어렵지 않았다. 문제는 배열의 범위를 벗어난게 문제였다. 배열의 범위를 자꾸 벗어나고 해서 GPT야.. 도와줘ㅠ아래의 코드 부분이 배열의..
프로그래머스(내적) 💡 오늘의 학습 키워드- 프로그래머스    * 내적 : 비기너 문제(Level 1) 오늘의 회고문제1  : [내적]어떤 문제가 있었고, 나는 어떤 시도를 했는지1차원 정수 배열 a, b가 주어졌을 때 a와 b의 내적을 리턴하는 문제다. 너무 쉬워서 그냥 보고 바로 끝냈다.배열의 요소를 전부 돌며 a * b의 값을 더해주면 되기에 쉬웠다.  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 어떻게 해결했는지class Solution { public int solution(int[] a, int[] b) { int size = a.length; ..
시간 초과 및 프로그래머스(연속된 부분 수열의 합) 💡 오늘의 학습 키워드- 시간 초과- 프로그래머스    * 연속된 부분 수열의 합 : 미들러 문제(Level 2) 오늘의 회고문제1  : [연속된 부분 수열의 합]어떤 문제가 있었고, 나는 어떤 시도를 했는지오름차순으로 정렬된 수열이 주어질 때, 부분 수열의 합이 K인 왼쪽, 오른쪽 인덱스를 리턴하는 문제이다.여러 개인 경우 길이가 짧은 수열이, 길이가 짧은 수열이 여러 개인 경우는 앞쪽의 인덱스를 리턴해야 한다. 처음엔 어떻게 할지 몰라서 생각해보다가 수열이니까 BFS/DFS 이런 걸 사용하는 건가 싶어서 찾아봤다.그런데 재귀인 것도 같고.. 아직 어떤 알고리즘을 어느 문제에 사용해야 하는지 익숙하지 않아 고민하다가 시간이 훌쩍 흘러버렸다. 그래서 결국 해당 문제를 풀이하신 분의 블로그를 찾아보았다...
프로그래머스(개인정보 수집 유효기간) 💡 오늘의 학습 키워드- 프로그래머스    * 개인정보 수집 유효기간 : 미들러 문제(Level 2) 오늘의 회고문제1  : [개인정보 수집 유효기간]어떤 문제가 있었고, 나는 어떤 시도를 했는지오늘의 날짜와 개인정보 수집 날짜 그리고 유효기간(월)을 알려주었을 때 폐기해야 하는 개인정보 번호를 리턴해주는 문제였다. 우선, split해야 하는 문제가 너무 많아서 당황했다.이걸 어떻게 풀지? 어떻게 나누지? 라고 생각했지만..그래도 일단 공백, "\\."을 기준으로 문자열을 나누었다.오늘의 년,월,일유효기간 타입, 기간개인정보들의 수집날짜, 유효기간 타입이렇게 데이터를 정리해줬다. 반복문을 돌며개인정보들의 수집날짜를 년,월,일로 다시 나누어주고개인정보 유효 마감일을 구하고오늘의 날짜가 개인정보 유효 마감..
프로그래머스(JadenCase 문자열 만들기) 💡 오늘의 학습 키워드- 프로그래머스    * JadenCase 문자열 만들기 : 미들러 문제(Level 2) 오늘의 회고문제1  : [JadenCase 문자열 만들기]어떤 문제가 있었고, 나는 어떤 시도를 했는지문자열을 입력받아 단어의 첫 글자는 대문자 나머지는 소문자로 만드는 문제였다.공백은 한 번에 여러 번 입력가능하고, 숫자는 변환하지 않아야 한다. 오늘은 미들러 문제치고는 너무 쉬웠다. 전에 비슷한 문제를 풀이해봐서 그런가..?일단 문자열의 첫 글자가 소문자일 경우 대문자로 변경해주고 아닐 경우는 그대로 넣어준다.그리고 문자열의 두 번째 글자부터 문자열의 끝까지 반복문을 돌면서 아래와 같은 조건대로 변경해서 넣어준다.해당 인덱스 앞이 공백일 경우 + 소문자일 경우는 대문자로 변경해당 인덱스 앞..
깊이 우선 탐색(DFS: Depth-First Search) 및 프로그래머스(모음사전) 💡 오늘의 학습 키워드- 깊이 우선 탐색(DFS: Depth-First Search)- 프로그래머스    * 모음사전 : 미들러 문제(Level 2) 깊이 우선 탐색(DFS: Depth-First Search): 한 정점으로부터 시작하여 가능한한 깊이까지 탐색을 진행하고, 더 이상 진행할 수 없는 경우 다음 경로로 되돌아가는 방식이다. 이를 통해 미로 찾기와 같은 문제를 해결할 수 있다.재귀 또는 스택을 활용해 구현 가능깊이 우선 탐색비순환 그래프에서는 모든 노드를 방문 가능순환 그래프에서는 무한 루프에 빠질 수 있으므로, 이미 방문한 노드를 추적하여 방문하지 않도록 주의스택의 용량에 따라 메모리 사용량이 증가public class Main { // 방문처리에 사용 할 배열선언 static boolea..
프로그래머스(2016년) 💡 오늘의 학습 키워드- 프로그래머스    * 2016년 : 비기너 문제 오늘의 회고문제1  : [2016년]어떤 문제가 있었고, 나는 어떤 시도를 했는지2016년의 몇월 며칠인지 알려주었을 때, 무슨 요일인지 리턴해주는 문제였다. 내가 제일 먼저 했던 방식은 반복문을 돌면서 2월은 윤달로 29일을 나머지 홀수달은 31일 짝수달은 30일을 총 날짜 수에 더해주는 것이었다. 이렇게해서 제출했을 때 테스트 케이스 1개만 통과하지 못했다.그래서 이게 뭐지? 했는데...  어릴 때 월별 일수 계산하는 걸 이상하게 배워놓은 게 문제였다.손등으로 세어봤을 때 7까지 세고 하나 더 31일로 세서 8월까지 31일로 세고 와야 하는데 30일로 세고 돌아왔지.. 살면서 달력 일수 세어볼 필요도 없고 세어본 적이 있었을 ..
프로그래머스(가운데 글자 가져오기 및 콜라 문제) 💡 오늘의 학습 키워드- 프로그래머스    * 가운데 글자 가져오기 : 비기너 문제    * 콜라 문제 : 미들러 문제 오늘의 회고문제1  : [가운데 글자 가져오기]어떤 문제가 있었고, 나는 어떤 시도를 했는지문자열의 중간 문자를 가져오는 문제이다. 문자열의 길이가 짝수라면 중간에 있는 2개의 문자를 홀수라면 중간에 있는 1개의 문자를 가져온다. 짝수일 때랑 홀수일 때를 나눠서 짝수라면 중간에 2개 인덱스의 문자를 가져오고홀수라면 중간에 1개 인덱스의 문자를 가져오도록 했다.그리고 StringBuilder을 사용 후 String으로 변환 후 리턴해줬다.  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을..