본문 바로가기
반응형

전체 글154

[프로그래머스 기능개발] c++ (코드, 풀이) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 /* 기능 개발 먼저 배포되어야하는 순서대로 작업의 진도가 적힌 progresses 각 작업의 개발속도가 적힌 speeds 각 배포마다 몇개의 기능이 배포되는지를 return 결국 먼저 끝냈더라도 앞에의 progresses가 끝나지 않으면 기다림 */ 간단하게 전꺼가 끝나지 않았다면 기다리고 끝났다면 연속적으로 끝난 작업에 대해서 progress++을 해서 진행을 하.. 2023. 5. 14.
[안드로이드 코틀린] 리사이클러뷰 뷰타입에 따른 설정 (실습 : 채팅방) 채팅방에 대한 리사이클러뷰를 통해 진행을 하려할때 뷰타입에 따른 설정을 진행하는 것에 대한 예제에 대한 학습을 적으려 합니다. 알고보면 간단하지만 알기전에는 힘든 친구가 아닐까 생각하네요. val chatAdapter = ChattingChatAdapter(chatList) binding.rvChattingChat.apply { adapter = chatAdapter layoutManager = LinearLayoutManager(context,LinearLayoutManager.VERTICAL,true) } viewModel.messageList.observe(viewLifecycleOwner, Observer { messages-> messages.forEach {chatAdapter.addMessa.. 2023. 5. 13.
[프로그래머스, 카카오 코테] 튜플 c++ (풀이과정,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 /* 튜플 문제를 풀때 중요한 두가지 1. 문자열 처리에 대해서 조심히 처리 2. 빈도수가 높은것이 결국 맨앞이다. 2번에 대해서 고려를 한다면 vector이런식으로 진행을 해서 하면 되지 않을까 싶다. 첫번째는 숫자, 두번째는 빈도(cnt)로 하면 될듯 싶다. 그래서 나중에 cnt를 기준으로 역순 정렬을 한다. 그리고 리턴 근데 여기서 그냥 map을 사용하면 더 편.. 2023. 5. 13.
[프로그래머스] 의상 c++ (코드,풀이방법) 문제 링크 https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&levels=2&languages=cpp&page=2 코딩테스트 연습 | 프로그래머스 스쿨 개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요! school.programmers.co.kr 문제 코드 및 풀이 사실 map으로 하는것이 더 편할지도 모른다는 생각 을합니다. 저번 문제에서 map으로 풀고 vector에 대해서 pair에 대해서 알고리즘을 안풀어 많이 무뎌져셔 이번엔 그렇게 진행했습니다. /* 의상 일부가 겹치더라도 다른 의상이 겹치지 않거나 혹은 .. 2023. 5. 13.
[프로그래머스] n^2배열 자르기 c++ (코드,해결과정, 오류수정) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 (시간초과 해결) 개념 n^2 배열 자르기 1행 1열부터 i행 i열 까지 모든 숫자를 i로 채움 문제의 예시 처럼 n = 3이면 1 2 3 2 2 3 3 3 3 이 되는것을 1 2 3 2 2 3 3 3 3인 한 배열로 저장을 한다. 그리고 left의 인덱스 부터 right의 인덱스 까지 배열을 자른다. 2 5 -> 3 2 2 3 이 되는것이다. 생각을 해보면 left.. 2023. 5. 12.
[프로그래머스] 행렬의 곱셈 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 개념 및 코드 풀이 사실 행렬의 곱셈에 대해서만 기억을 한다면 진행을 할 수 있습니다. 하지만 까먹어도 입출력 예시를 보시면 어떻게 계산이 되는지에 대해서 유추도 가능은 합니다. /* 행렬의 곱 (행 * 열) * (행 * 열) = 행 * 열 가로로 첫번째 행렬의 열들과 두번째 행렬의 행이 곱해진다는 것을 알아야 함. ex) 1 2 5 6 3 4 7 8 의 두행렬의 곱셈은 1*5+2.. 2023. 5. 11.
[프로그래머스] 연속 부분 수열 합의 개수 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 arr의 배열의 크기 제한으로 인해 map을 사용하였습니다. 사실 오랜동안 알고리즘이 잠시 쉬어서 map에 대한 친구를 잊고 있었습니다. map로 꼭 사용하시길 바랍니다 :) /* 연속 부분 수열 합의 개수 자연수로 이루어진 원형 연속부분 수열의 합으로 만들 수 있는 수의 개수 원소의 갯수가 10개라면 뒤에 9개를 push_back을 한다. -> ex) 8개 비교시.. 2023. 5. 11.
[프로그래머스] [1차]캐시 C++ (2018 카카오 블라인드 코테) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 /* 공백,숫자,특수문자 등이 없는 영문자 + 대소문자 구분x 도시 이름은 최대 20자로 이루어져있음 Least Recently Used -> 최근에 사용하지 않은 캐시를 교체하는 알고리즘 cache hit -> 존재 한다면 1 cache miss -> 존재하지 않는다면 5 -> 크기가 채워졌냐 안채워졌냐로 분류 문제의 예시 2번째를 보면서 이해를 해봐야 함. 편의상.. 2023. 5. 11.
[프로그래머스] h-index c++ (문제,풀이,코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 정렬을 진행해준후에(내림차순!) 반복문을 도는데 i = citations[i]이기 때문에 갯수는 정해졌으니 return을 하면 됩니다. /* H-index 발표한 n평중 h번이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 h-ind.. 2023. 5. 10.
[프로그래머스] 괄호 회전하기 c++ (풀이, 코드, 스택) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 처음에는 너무 간단하게 소,중,대 괄호에 대해서 여는거면 ++ 닫는거면 -- 를 하면서 그냥 간단하게 반복문을 돌때 0미만이 하나라도 나오면 없는거 아니야? 라는 생각을 했습니다. 틀린 코드(오답 코드) /* 괄호 회전하기 AB가 올바른 괄호 문자열 -> AB도 올바른 괄호 문자열 S가 X칸만큼 회전시켰을때 S가 올바른 괄호 문자열이 되게 하는 X개의 개수 retur.. 2023. 5. 10.
[프로그래머스] 귤 고르기 c++ (풀이, 코드, 정렬의 중요성?) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가.. 2023. 5. 9.
[프로그래머스] 멀리 뛰기 c++ (dp, 코드 및 설명) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 개념 이 문제를 역으로 생각을 해보면 예를 들어 우리는 10칸에 도달하려고하면 -> 8칸에서 두칸뛴것과 9칸에서 1칸을 뛴것을 생각하실 수 있습니다. 이것을 계속 반복하게 되서 처음으로 돌아가게 된다면 1칸과 2칸을 알게 된다면 모든 뒤 칸을 알 수 있습니다. 하지만 우리가 만약 return f(n) = f(n-1) + f(n-2); 이런식의 재귀로 호출을 하게 된다면 얼마나 오랜 시간.. 2023. 5. 9.
[안드로이드 코틀린] 바텀네비게이션 프래그먼트 전환시 상태 유지 바텀 네비게이션을 전환만 한다고 생각을 하지만 우리는 카카오톡 애플리케이션을 보게 되면 친구창에서 바텀 네비게이션에 있는 다른 채팅을 가게 되었을때 다시 친구 창에 돌아오면 위치를 저장하는 것을 보실 수 있습니다. private fun runBottomNavi() { binding.btmNavMain.run { setOnItemSelectedListener { item -> val selectedFragment: Fragment = when (item.itemId) { R.id.btm_home -> HomeFragment() R.id.btm_chatting -> ChattingFragment() R.id.btm_post -> PostFragment() R.id.btm_profile -> ProfileFr.. 2023. 5. 9.
[프로그래머스] N개의 최소 공배수 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12953?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 .. 2023. 5. 8.
[프로그래머스] 점프와 순간 이동 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 .. 2023. 5. 8.
[프로그래머스] 예상 대진표 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 .. 2023. 5. 7.
[프로그래머스] 구명보트 c++ 코드 및 풀이 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게.. 2023. 5. 6.
[프로그래머스] 카펫 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 및 풀이 생각을 단순하게 변을 x,y라고 생각을 하고 2x + 2y - 4 = 갈색의 겉에 감싼 합 x * y = brown + yellow 라는 조건식을 충족한다면 맞는 것이니 return을 하였습니다. 근데 여기서 y값이 더 작거나 같다는 조건을 충족하기 위해 y를 큰 반복문으로 돌리고 또한 시간 절약을 위해 brown + yellow의 루트를 씌웠습니다 -> 약수 구할때 전체.. 2023. 5. 6.
[프로그래머스] 영어 끝말잇기 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 및 풀이 보통 간단하게 생각을 하고 효율성이 맞지 않는다면 고치는 편인데 전꺼의 끝과 현재의 시작이 같지 않다면 return 그리고 여태 한것의 문장이 있다면 return을 하는 형식으로 생각하고 짰더니 바로 통과하였습니다. /* 영어 끝말잇기 그냥 전꺼 끝 단어랑 처음 시작 단어를 비교해서 다르다면 리턴 그리고 vector words에 있는 것을 돌며 서로 같지 않으면 리턴 */.. 2023. 5. 6.
[프로그래머스] 짝지어제거하기 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 레벨2문제는 풀다보면 느끼는건데 너무 쉽게 생각하면 또랑에 빠져서 다시 고치고 어렵게 생각하면 쉬운문제라 항상 당황하는것 같습니다. 코드 및 풀이 오답 코드(효율성 0점) /* 짝지어 제거하기 -> 같은 알파벳 2개 붙어 있는 짝을 찾음 그 둘을 제거한 뒤 이어 붙임 성공할 수 있으면 1 없으면 0 음.. 반복문을 전체를 도는것은 에바니 index기준을 기억해뒀다가 제거됐을.. 2023. 5. 5.
[프로그래머스] 피보나치 수 c++ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 및 풀이 일단 금방 풀긴 했는데 조금은 이상한 감이 있어서 문제에서 이상한 부분을 적어보겠습니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. n번째 피보나치 수를 1234567로 나눈 나머지를 리턴이라고 적혀있는데 조금은 말이 애매한 해석이 될 수 있지만 뭐 코드치는것보다 주석치는 시간이 .. 2023. 5. 4.
반응형