본문 바로가기

분류 전체보기182

문자열 내림차순으로 배치하기 https://school.programmers.co.kr/learn/courses/30/lessons/12917 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이건 열받아서 기록한다.  문제는문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.이러하다. 문제가 뭔가 이상한 것 같은데입출력 예sreturn"Zbcdefg""gfedcbZ" 뭔 말 하는지는 알겠으니까 일단 풀어 봄.처음에는 String을 Char[.. 2024. 5. 4.
제일 작은 수 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 내가 잘못 풀었다고 생각해서 기록한다.내가 풀고 싶은 형태가 있었는데 그걸 제대로 구현을 못 했고다른 사람의 풀이에 가니 제일 위에 내가 원했던 구현 방법이 있었다.import java.util.*;import java.util.stream.*;class Solution {    public int[] solution(int[] arr) {        List arrList = new Ar.. 2024. 5. 4.
가운데 글자 가져오기 https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 프로그래머스 문제도 저작권 문제가 있을 수 있어 예전만큼 맘 편하게 긁어 게시하기엔 마음이 불편하다.그동안 해오던 것처럼 게시하는 정도로는 문제가 되지 않지만 그냥... 여튼, 내가 갈수록 문제 게시를 덜하고 있는데 그 이유는 지금 푸는 문제들이 쉽기 때문이다.어느 정도 수준 이상부터는 다시 블로깅 횟수가 늘 거로 예상한다. 이 문제도 쉽지만 내가 게시하는 이유는내 코드가 나쁘지 않은 거 같아서. ☺.. 2024. 5. 4.
어떻게 살 것인가 제2 장 어제는 플러터를 그만두면서(앞으로 플러터를 메인으로 개발하지 않을 거라는 이야기) 하고 있는 생각들을 정리했다면오늘은 개발 업 자체를 회의적으로 보게 된 사건들에 대해 정리하고 싶다.내 마음을 정리하기 위한 글이라서 남들에게 딱히 유익할 내용이 있을 거로 생각하지 않는다.내 마음대로 짧고 쉽게 정리하겠단 뜻이다. 지난 글에서 항상 공고를 올리고 있는 회사에 대해 언급한 바 있다.과거의 나는, 그런 공고들이 나를 항상 기다려 주고 있어서 😊 저 정도 회사에서 일할 수 있는 실력만 되면이력서를 제출하고 그리 어렵지 않은 과정을 지나 바로 회사에 출근을 하고그렇게 개발 경력을 쌓아 갈 수 있을 줄 알았다. 회사에서 원하는 사람이 '어느 정도 회사의 일을 쳐 낼 수 있는 사람'이라고만 생각한 것이다.많은 경우.. 2024. 5. 3.
어떻게 살 것인가 제1 장 당신은 길을 걷다 남의 방귀에 맞아 본 적이 있는가.오후 6시, 독서를 위해 카페로 이동하던 중 할아버지가 무릎을 살짝 구부리고 엉덩이를 뒤로 빼더니 가스를 뿜어 내기 시작했다.재은은 '이것 참 불쾌하군'이라고 생각하고 가던 길을 갔다. 오후 8시 반, 귀가 후 과자를 사기 위해 마트로 가던 길에 멀쩡하게 생긴 아줌마가 내 바로 앞에서 방귀를 뀌어 대기 시작했다.걸으면서 뀐다."푸푸푸 풍 퐁퐁"한국인 특유의 아니시에이팅이 걸린 재은은 '아니, (욕), 지금 저 소리가 안 들릴 거로 생각하고 걸으면서 방귀를 뀐 것임? 저 정도의 능지라면 지금 내가 소리 내서 욕하면 오늘을 평생 수치스러워하겠군. 좋다, 그냥 넘어간다.'라고 한 번 더 불쾌함을 넘겼다. 오후 8시 5분, 마트 20미터 앞에서 웬 할머니가 ".. 2024. 5. 3.
방송대 자료구조 교재 요약 제9 장 - 힙 제9장 힙) 개관)힙은 부분적으로 정렬된 완전 이진 트리 형태다. 부모 노드와 자식 노드 간의 관계를 노드 값의 크기에 의해 정의한다.노드 간의 관계에서 부모 노드가 자식 노드보다 크면 최대힙이라고 하며, 부모 노드가 자식 노드보다 작으면 최소힙이라고 한다.힙에서 노드를 삭제하거나 삽입할 경우에는 완전 이진 트리 형태를 계속 갖추어야 한다. 완전 이진 트리!!! Complete Binary Tree!!! 리프 노드에서 왼쪽에서 오른쪽으로 정렬!!!전 이진 트리!!! Full Binary Tree!!! 자식 노드의 수가 0 아니면 2개!!!포화 이진 트리!!! Perfect Binary Tree!!! 모든 자식 노드가 최대 2개 꽉 꽉 차 있다!!!...전에도 얘기한 바 있지만 영어 번역 진짜 마음에 안 .. 2024. 5. 2.
없는 숫자 더하기 문제 설명0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항1 ≤ numbers의 길이 ≤ 9입출력 예numbersresult[1,2,3,4,6,7,8,0]14[5,8,4,0,6,7,9]6이거는 진짜 순전히 내 풀이가 너무 웃기기 때문에 포스팅 한다. import java.util.*;class Solution {    public int solution(int[] numbers) {        List arrList = Arrays.asList(0,1,2,3,4,5,6,7,8,9);        int sum = 0;  .. 2024. 5. 2.
방송대 자료구조 교재 요약 제8 장 - 스레드 트리 제8 장 스레드 트리) 개관)이진 트리를 순회할 때 방문하지 않고 지나쳐 온 노드는 스택에 저장한다.이러면 스택 관리하기가 번거로운데 이런 번거로움을 없앤 트리가 스레드 트리다.(네...? 이 괴랄한 건 뭐죠...)정해진 순회 방법에 따른 방문 순서를 유지하는 포인터를 스레드라고 한다.이 스레드 포인터를 갖는 이진 트리가 스레드 트리다....스레드는 오른쪽 스레드, 왼쪽 스레드, 2가지가 있다.오른쪽 스레드는 정해진 순회 순서에 따른 그 노드의 후속 노드를 가리킨다.왼쪽 스레드는 그 노드의 선행 노드를 가리킨다....스레드 트리는 두 가지 방법으로 구현할 수 있다.한 가지는 스레드를 저장하는 포인터를 추가하는 방법이다....내가 여기까지 읽고 도저히 이해가 안 돼서 유튜브 영상을 하나 보고 왔다.http.. 2024. 5. 1.
방송대 자료구조 교재 요약 제7 장 - 트리 제7 장 트리) 개관)트리에서는 용어를 정확하게 아는 것이 중요하다. 이렇게 생긴 게 트리다.좀 덜 구체적인 트리 이미지를 가지고 오고 싶었는데 이게 제일 먼저 나와서...교재에는 이진 트리 외에 언급하지 않으니 일단 이걸 쓰자.아, 이미지를 하나 찾았다. 트리에서도 학습할 내용이 방대하다.나야 책 보면서 나름대로 기록한다고 드문드문 쓰고 있지만 트리에 대해서 제대로 공부하고 싶으면바로 위에 있는 링크에서 필요한 내용을 꼭 꼼꼼히 보는 걸 추천한다.CS 공부를 하려면 한글 블로그에서 뭘 찾으면 절대 안 되고 😊... 제대로 정리된 해외 사이트를 이용하시라...아무튼, 트리에서 저기 동그란 걸 노드라고 한다.차수(Degree)는 노드에 달린 자식의 개수다.트리에 속한 모든 노드의 차수가 2 이하인 트리를.. 2024. 5. 1.
방송대 자료구조 교재 요약 제6 장 - 연결 리스트의 응용 제6 장 연결 리스트의 응용) 개관)...학습 목표)1. 단순 연결 리스트와 이중 연결 리스트의 장단점을 이해한다.2. 원형 연결 리스트의 장점을 이해한다....자바에서는 연결 리스트가 이중 연결 리스트로 기본 세팅되어 있다.이걸 단순 연결 리스트나 원형 연결 리스트로 구현하는 방법에 대해서는 내가 찾아 보질 않았는데...어쨌든 C를 사용하는 이 책에서는 '단순 연결 리스트', '이중 연결 리스트', '원형 연결 리스트'를 다 본다.... 볼 때는 쉽다. 그런데 이걸 C로 한 땀 한 땀 구현해야 한다면...전신에 식은 땀이 난다....1. 연결 리스트의 변형...2. 원형 연결 리스트교재에서는 '변형된 원형 연결 리스트도 있다', '~하는 수도 있지만 이 교재에서는 다루지 않는다'라며 연결 리스트의 다양.. 2024. 5. 1.
방송대 자료구조 교재 요약 제5 장 - 연결 리스트 제5 장 연결 리스트) 개관)리스트는 배열과 달리 원소들 간의 논리적인 순서를 표현하기 위한 자료구조다.개인적으로 이 표현이 정말 리스트라는 자료구조의 핵심 중의 핵심이라 생각한다.원소들 간의 순서가 논리적으로 지켜진다면 각 원소가 저장되는 물리적인 위치는 어디든 상관이 없다.배열을 이용하여 리스트를 구현하면(== ArrayList) 원소의 논리적인 순서를 지키기 위해 원소의 이동이 많아진다.따라서 그것보다 포인터 변수를 이용한 연결 리스트(링크드 리스트, LinkedList)를 이용한다.포인터 변수를 사용하고 메모리 할당을 동적으로 하면 리스트 구현 프로그램의 실행에 필요한 메모리의 낭비를 막을 수 있고 프로그램 수행도 효율적으로 할 수 있다. 학습 목표에서 중요한 것리스트와 배열의 차이점이 뭔가요? .. 2024. 4. 30.
방송대 자료구조 교재 요약 제4 장 - 큐 제4 장 큐) 개관)큐는 줄을 서는 순서에 따라서 공평하게 서비스하는 경우에 많이 사용된다.자원의 할당을 받으려는 작업들 간의 순서를 관리하는 경우도 마찬가지다.큐의 입력 연산 시에는 수행 전에 정의된 큐의 크기와 저장된 데이터를 항상 확인해야 한다.크기보다 더 많은 자료를 입력하면 에러가 발생하기 때문이다.삭제 연산을 하기 전에 큐가 비어 있진 않은 지 확인해야 하는 것도 같은 맥락이다.+ 뒤에 큐를 이용한 CPU 할당 방법과 원형 큐에 대한 이야기가 나온다. 정처기에 나올 것 같은 문제..!FCFS 스케줄링(FIFO 스케줄링): 작업(프로그램)이 준비 큐에 도착한 순서대로 CPU를 할당받도록 해 주는 기법RR(Round Robin) 스케줄링 기법: 작업(프로그램)이 도착한 순서대로 CPU가 할당되지만.. 2024. 4. 30.