일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 막내의막무가내 플러터
- Fragment
- 주택가 잠실새내
- 막내의막무가내 안드로이드
- 주엽역 생활맥주
- 막내의막무가내 안드로이드 코틀린
- flutter network call
- 프래그먼트
- 막내의막무가내 SQL
- 안드로이드 sunflower
- 막내의막무가내 플러터 flutter
- 막내의막무가내 목표 및 회고
- 막무가내
- 막내의막무가내 알고리즘
- 막내의막무가내 일상
- 막내의 막무가내
- 막내의막무가내 rxjava
- 2022년 6월 일상
- 막내의막무가내 코틀린
- 막내의 막무가내 알고리즘
- 부스트코스에이스
- 부스트코스
- 안드로이드
- 막내의막무가내
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 프로그래밍
- 안드로이드 Sunflower 스터디
- 프로그래머스 알고리즘
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- Today
- Total
목록알고리즘 (200)
막내의 막무가내 프로그래밍 & 일상

https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 프로그래머스 LEVEL3 단어 변환 문제를 풀어봤습니다. bfs 를 사용해서 풀이했습니다. 한 단어는 한 글자만 변경이 가능한 경우 변경할 수 변환할 수 있습니다. (탐색 조건) 1. 큐에 시작 단어를 넣습니다. 2. 단어들을(words) 불러오고 이미 사용한 단어가 아닌 경우 현재 단어와 한글자씩 비교하고 변환이 가능..

https://github.com/mtjin/algorithm_practice/tree/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20-bfs%2Cdfs- https://programmers.co.kr/learn/courses/30/lessons/43162?language=kotlin 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr BFS 를 사용하여 처음 연결된 ..

https://programmers.co.kr/learn/courses/30/lessons/12913?language=java 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟�� programmers.co.kr 프로그래멋 LEVEL2의 땅따먹기 문제를 풀어봤습니다 ㅎㅎ dp 로 바로 접근하고 복잡한 문제가 아니라 빠르게 풀 수 있었습니다. 풀이는 다음과 같습니다. [Java] class Solution { int solution(int[][] land) { int answer = 0; for (int i = 1; i < ..

https://programmers.co.kr/learn/courses/30/lessons/42888?language=kotlin 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 프로그래머스 LEVEL2 문제 오픈채팅방을 풀어봤습니다. ㅎㅎ 문제 풀이법은 HashMap으로 풀어야겠다고 바로 생각나서 쉽게 접근할 수 있었습니다. 1. HashMap 으로 마지막으로 추가 혹은 변경된 이름을 저장하게 합니다. uid를 key로 이름을 value로 2. 출력 문장을 만들어 줍니다. Levae는 두 단어인거 주의 3...

https://programmers.co.kr/learn/courses/30/lessons/42585?language=kotlin 코딩테스트 연습 - 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레� programmers.co.kr (a) 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현합니다. 또한 모든 '()'는 반드시 레이저를 표현합니다. (b) 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현됩니다. 프로그래머스 LEVEL2 문제 쇠막대기를 풀어봤습니다. 간단히 설명하면 ( ) 는 레이저 나머지 ( ( ( , ) ..

https://programmers.co.kr/learn/courses/30/lessons/49994?language=java 코딩테스트 연습 - 방문 길이 programmers.co.kr 프로그래머스 LEVEL3 의 방문 길이 문제를 풀어봤습니다 ㅎㅎ 처음에 별생각없이 좌표를 칸으로 취급하고 바로 2차원 배열의 map, isVIsisted 하고 bfs queue 로 접근해서 풀었는데 한문제만 맞고 나머지 한문제는 틀리고 오답이 나왔었습니다. 바로 위와 같이 7번처럼 방문이 안되야하는데 된걸로 되서 잘못풀었단거를 꺠달았습니다. 그래서 어디서 어디로 왔는지 알아야했습니다. 이를 4차원 배열을 이용해서 풀었습니다. 1,2 차원 지점에서 3,4차원지점으로 이동했다는 것을 기록합니다. 문제 풀이방법이 더 간단해..

https://programmers.co.kr/learn/courses/30/lessons/42578?language=java 코딩테스트 연습 - 위장 programmers.co.kr 프로그래머스 LEVEL2 의 해시 유형 문제를 풀어봤습니다. ㅎㅎ 처음에 해시로 접근할 때 value 값을 List로 할려했는데 생각해보니 같은 옷이 나오는 경우는 생각을 안해도 되서 key 값은 옷의 종류, value 값은 해당 옷 종류의 옷 개수로 설정해서 쉽게 풀 수 있었습니다. hash 문제를 풀때 getOrDefault() 함수를 참 많이 사용하는 거 같습니다 저같은 경우는.. 그리고 이 문제에서는 확률과 통계 지식도 필요했는데요. 다음과 같이 이 문제 수학지식에 대해 잘 설명해논 글이 있어 가져와봤습니다. !! ..

https://programmers.co.kr/learn/courses/30/lessons/43165?language=java 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 프로그래머스 LEVEL2 의 타겟넘버를 풀어봤습니다. ㅎㅎ + 일떄와 - 일때 두가지 경우로 재귀를 돌려 결과값이 타겟넘버라면 개수를 1 증가시키게 풀었습니다. 문제풀이는 다음과 같습니다. [Java] class Solution { private static int target; pr..

https://programmers.co.kr/learn/courses/30/lessons/12952?language=kotlin 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 프로그래멋 LEVEL3 의 백트래킹 유형의 N-Queen 문제를 풀어봤습니다. 예전에 백준에서도 풀었었는데 아마 백트랙킹의 대표적인 문제라 프로그래머스에도 있는 것 같습니다. 복습할겸 다시한번 풀어봤습니다 ㅎㅎ 풀이는 다음과 같습니다. [Java] class Solution { public static int N; pu..

https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 프로그래머스 LEVEL2 의 짝지어 제거하기 문제를 풀어봤습니다. ㅎㅎ 처음에 문자열로 비교해서 양쪽이 같은 경우도 제거해주는 건줄 알았는데 아니었고 한 단어로만 비교해주면 되는 문제이기 때문에 스택으로 쉽게 풀 수 있었습니다. 풀이는 다음과 같습니다. import java.util.Stack; class Solution { public int so..

https://programmers.co.kr/learn/courses/30/lessons/42577?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 LEVEL 2 의 해시문제를 풀어봤습니다. 유형이 해시라고 적혀있어서 HashMap을 사용해서 풀었는데 다른 분들의 풀이를 보니깐 해시로 푸는 사람들이 거의 없는거 같더라고요. 그래서 제가 푼 방식과 다른분이 풀이방식을 같이 남겨봅니다. 저같은 경우는 해쉬맵을 사용해서 각 전화번호들을 추가하고 전화번호부에서 하나씩 번호를 불러오고 불러온 번호를 한자리씩 읽어가며 해쉬맵과 ..

https://programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 프렌즈4 블록 문제를 풀어봤습니다. ㅎㅎ 처음에 기존의 단순 BFS 문제처럼 bfs 함수를 만들고 큐와 while 반복문을 통해 풀려고 했는데 풀다가 아닌 것 같아 지우고 다시 풀었네요. 그런데 블록을 재배치하는 함수인 arrange() 에서 queue.offer(j) 를 i로 바꿔써서 이거 못찾아서 시간을 많이 잡아먹었습니다. ㅠㅠ (신기한게 실행 테스트케이스는 맞는데 제출하기 테스트케이스가 3..

https://programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 LEVEL2의 소수 만들기 문제를 풀어봤습니다. ㅎ 풀이 방법은 바로 생각이나고 예외 케이스도 없어서 바로 통과할 수 있었습니다. 중복된 숫자가 없는 3이상 크기의 배열에서 3개의 숫자 조합을 꺼내어(만들어) 그 합이 소수가 되는 개수를 구하는 문제였습니다. 그래서 3중 for문으로 앞에 자리부터 차례대로 모든 조합을 꺼내올 수 있게 구현했습니다. 첫번째는 0번 인덱스에서 마지막-2 인덱스까지, ..

https://programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 LEVEL1 예산 문제를 풀어봤습니다. LEVLE1 문제를 처음 풀어봤는데 간단한 문제였습니다. 오름차순 정렬 후 낮은데 부터 예산을 지원해주면 됩니다. 풀이는 다음과 같습니다. import java.util.Arrays; class Solution { public static void main(String[] args) { Solution solution = new Solution(); solu..

https://programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 출발점부터 시작하는게 아닌 도착점 부터 즉 거꾸로 생각하면 쉽게 풀 수 있는 문제였습니다. (dp 문제는 아니였습니다.) 역발상의 중요성(?) 그리고 다른 포인트는 만약 5000이 도작 지점인 경우 5000을 오바해서 도착하면 안된다는 점입니다. 예를들어 2600에서 로켓점프를 쓰면 5200이 되는데 이러면 안된다는거지요. 그래서 도착점 5000부터 시작하여 풀 수 있었습니다. 물론 오바가 가능하면 로켓점프쓰..