본문 바로가기

STUDY ALONE326

[Lv.2] 프로그래머스 - JadenCase 문자열 만들기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기split(" ")으로 String 배열로 변환한 후에for문으로 String 배열을 순회하면서조건대로 문자열을 변환해서 다시 대입해야지~하고 풀었다가 실패했다 ㅋㅋ... 질문하기를 보니 공백문자가 연속해서 나올 수도 있다는 점을 살피지 못했던 것 같다.예를 들어 아래와 같이 나오는 경우를 간과한 것이다.입력값 〉 " for the what 1what "기댓값 〉 " For The What 1what " 참고한 블로그⬇️ [프로그래머스] JadenCase 문자열 만들기(Java)프로그래머.. 2024. 5. 20.
[CS] Ch.1 디자인 패턴과 프로그래밍 패러다임 : 프로그래밍 패러다임 1.2 프로그래밍 패러다임프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론 여러 패러다임을 지원하는 언어로는 C++, 파이썬, 자바스크립트가 있으며, 자바의 경우 jdk 1.8부터 함수형 프로그래밍 패러다임을 지원하기 위해 람다식, 생성자 레퍼런스, 메서드 레퍼런스를 도입했고 선언형 프로그래밍을 위해 스트림(stream) 같은 표준 API 등도 추가하였다. 프로그래밍 패러다임은 크게 선언형, 명령형으로 나누며, 선언형은 함수형이라는 하위 집합을 갖는다. 또한, 명령형은 다시 객체지향, 절차지향으로 나눈다.  1.2.1 선언형과 함수형 프로그래밍선언형 프로그래밍 (declarative programming)'무엇을' 풀어내는가에 집중하는 패러다임"프로그램은 함수로 이루어진 것이다." .. 2024. 5. 16.
[CS] Ch.1 디자인 패턴과 프로그래밍 패러다임 : 옵저버 패턴, 프록시 패턴, 이터레이터 패턴, 노출모듈, MVC 패턴, MVP 패턴, MVVM 패턴 1.1.4 옵저버 패턴주체가 어떤 객체(subject)의 상태 변화를 관찰하다가상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는옵저버들에게 변화를 알려주는 디자인 패턴 주체 = 객체의 상태 변화를 보고있는 관찰자옵저버들 = 이 객체의 상태 변화에 따라 전달되는 메서드 등을 기반으로 '추가 변화 사항'이 생기는 객체들   주체와 객체를 따로 두지 않고 상태가 변경되는 객체를 기반으로 구축하기도 한다.옵저버패턴은 주로 이벤트 기반 시스템에 사용하며 MVC 패턴에도 사용된다.  자바에서의 옵저버 패턴import java.util.ArrayList;import java.util.List;interface Subject { public void register(Observer obj); p.. 2024. 5. 16.
[Lv.1] 프로그래머스 - 달리기 경주 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음엔 이중 for문을 사용해서 swap하는 식으로 풀이하였는데 시간 초과로 실패하였다.제한사항을 보니 calling의 길이가 100만이고, player는 5만이기에 실패한 것 같다. 그래서 참고한 블로그⬇️ [연습문제][lv.1] 달리기 경주 - 자바(Java)문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나.. 2024. 5. 15.
[Lv.1] 프로그래머스 - 공원 산책 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음엔 구현만 하면 되겠다고 생각했는데, 은근 헷갈렸다.첫번째 풀이를 하고 제출했는데 줄줄이 실패가 떴다... 이유는 'X'를 마주쳤을 때의 구현을 빼먹어서...! 두번째 풀이는 x, y 방향을 반대로 설정해서 실패했다. 전부 수정해서 제출했더니 겨우 성공...ㅎx, y를 아래와 같이 고정해놓고 풀었더니 해결됐다.  문제풀이// 첫번째 풀이 -> 실패 (X 구현을 안 함)// 두번째 풀이 -> x, y 방향 반대로class Solution { public int[] solution(String[].. 2024. 5. 15.
[Lv.1] 프로그래머스 - 신고 결과 받기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음 생각했던 프로세스는 다음과 같다.report의 중복을 없애자.map에 report 당한 사람의 이름과 횟수를 저장하자.id_list 순서대로, report 했더니 정지당한 사람의 수를 반환하자.import java.util.*;import java.util.Map.*;class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length.. 2024. 5. 15.