목록Java (116)
Hayden's Archive
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 처음에는 String을 toLowerCase()를 통해 소문자로 모두 바꾸고 toCharArray()로 char[] 배열로 바꿨다. 그 뒤 char형을 String형으로 바꿔서 문자 "p"와 문자 "y"와 비교하였고 각각 countP와 countY에 저장하여 수를 비교해서 풀었다. class Solution { boolean solution(String s..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 일단 String 타입 s의 길이를 구하여 길이의 반을 버림하고 리턴 타입이 double이므로 그 값을 int형으로 캐스팅한 후 half로 저장했다. 그 뒤 String 클래스의 charAt() 메소드를 사용하여 index 위치에 따른 value를 뽑아내서 char 타입 배열에 저장했고 이를 String 클래스의 생성자 인자값으로 받아서 answer에 저장..
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 약수를 구하는 거니까 나눠서 나머지가 0이 되는 데서 찾았다. 다른 사람들의 코드를 봤는데 다 비슷비슷했던 문제. class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i < n + 1; i++){ if(n % i == 0) answer += i; } return answe..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. Kim은 반드시 s..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 반복문을 쓰지 않고 풀 수 있는 방법이 없을까 고민해봤는데 방법을 찾지 못해서 for문을 돌려서 풀었다. 1부터 n까지 반복하면서 홀수일 때는 answer에 "수"를 더 하고 짝수일 때는 answer에 "박"을 더한다. class Solution { public String solution(int n) { String answer = ""; for(int i = 1; i
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 작성한 코드 반복문을 돌릴까 생각도 했지만 수의 범위가 -10,000,000 이상 10,000,000 이하인 정수이고 넓은 범위가 걸리면 시간 복잡도가 높아질 것 같아서 반복문을 피하고자 했다. 따라서 가우스의 덧셈에 의해 1~n까지의 합을 n(n+1)/2 로 구할 수 있는 것에서부터 출발했다. a~b까지의 합은 1~b까지의 합에서 1~a까지의 합을 빼주고 더해주면 된..
- 오늘까지 배우는 내용은 Stand-alone Application( https://en.wikipedia.org/wiki/Standalone_software ) - 자바 개발의 핵심은 분산! - 콘솔로 입력해서 콘솔로 출력보는 것=로컬. 1 Tier(로컬머신) - 자바 언어의 마지막 챕터는 소켓(Socket). Remote 환경으로 감. 분산 환경. - 소켓 = 로컬 머신끼리 네트워크로 서비스가 가능한 것. - 2 Tier : 데이터를 보내는 입장(서버 사이드), 데이터를 받아서 처리하고 다시 돌려주는 입장(클라이언트 사이드) --> 이걸 하게 되면 채팅이 가능. 로컬 머신에서 two tier(서버/클라이언트)이 가능. - 3 Tier(클라이언트-서버-DB)는 웹기반. 2008년부터는 4 Tier로 ..
프로세스(Process) - 쓰레드를 알려면 프로세스를 알아야 함. - 프로세스(Process) = 독립적인 하나의 실행 파일. - 현재 실행중인 파일 = 현재 점유하고 있는 파일 - 예) AppTest.java 컴파일 해서 -> AppTest.class 실행 파일(이게 프로세스 파일) Multi-Tasking - 예컨대 AppTest.class, 카카오톡, 다운로드 동시에 실행한다. 우리 눈에는 동시에 실행하는 것으로 보이지만 실제로는 TimeSliced 방식으로 돌아가는 것. - 여러 개의 프로세스가 동시에 돈다 => 서로 다른 프로세스가 시간을 쪼개가면서 CPU를 쓴다. 스레드(Thread) - 스레드 : 전문화된 작업 단위. 특정 일만 전담해서 하는 작업을 스레드로 만듦. 그런데 그런 것들이 여러..
Collection Collection API -> 이걸 알고 나면 배열을 할 필요가 없다. 그걸 할 필요가 없는 컬렉션! // 배열을 안함~~! API 문서에서 java.util - Collection Collection API : 객체들을 저장하는 특징을 다룸. 정확히 말하면 자바에는 자료구조 같은 게 없음. 컬렉션이 그 역할을 한다. 객체를 저장하는 특징을 다루므로 모든 객체를 다 정리하기엔 복잡. 특징을 다루므로 부모의 특징을 정리. 부모 : 계층 구조가 올라간 애들. 컬렉션 API는 부모의 특징! -> 결론적으로 인터페이스를 다루는 게 핵심. 가장 원시적인 방법으로 자료(객체)를 저장. -> 중복이 있는 게 원시적 / 순서가 없는 게 원시적. -> 중복 되고 순서 없다. -> 프로그램에서 원시적..
- 상속은 주로 클래스의 속성, 즉 필드를 공유함. - 상속과 인터페이스를 특징적으로 공부하는 건 좋은데, 인터페이스도 일종의 상속임. - 인터페이스(Interface) : 템플릿(Template)으로만 만들어져 있는 것. 인터페이스에는 필드가 없고 기능만 있다. 인터페이스는 클래스가 아니지만 일종의 모듈이다. 필드 없이 기능이 템플릿으로만 구성되어 있다. 클래스랑 구분하기 위해서 꺽쇠 2개를 써주기도 한다.(>) - 인터페이스의 역할 : 완벽한 템플릿만 틀로 주는 게 인터페이스. - 메소드 템플릿(Method Template) : 구현부가 없는 추상 메소드(Abstract Method) // ex) 날아, 착륙해, 이륙해 -> 지정만 해주는 것. - 정확히는 클래스가 인터페이스를 구현하는 것. => 상..