java58 [Java] 자바 스트림, 람다 Java에서 코드를 작성하는 방식은 크게 명령형(Imperative) 과 선언형(Declarative) 으로 나눌 수 있다.Stream은 선언형 프로그래밍 방식을 지원하는 기능으로, 어떻게(How) 처리할지보다 무엇을(What) 처리할지에 집중하여 코드를 작성할 수 있다.Stream의 처리 과정Stream은 데이터를 다음과 같은 순서로 처리한다. 데이터 생성 ↓filter() ↓map() ↓collect() 각 단계는 데이터를 조금씩 가공하며 마지막에 원하는 결과를 만들어 낸다.filter() : 조건에 맞는 데이터만 선택map() : 데이터를 원하는 형태로 변환collect() : 최종 결과를 컬렉션 등으로 수집명령형과 선언형명령형(Imperative)명령형은 원하는 결과를 얻기 위한 .. 2026. 7. 20. [프로그래머스 Lv.0] k의 개수(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이i부터 j까지의 모든 숫자를 순회하면서, 각 숫자를 문자열로 변환한 뒤 k가 몇 번 등장하는지 확인한다.먼저 반복문을 사용해 i부터 j까지의 숫자를 하나씩 가져온다.for (int x = i; x Integer.toString()을 사용하여 정수를 문자열로 변환한 후 문자열의 각 문자를 하나씩 확인한다.for (int y = 0; y charAt()으로 문자를 가져오고 '0'을 빼서 숫자로 변환한 후 k와 같은 지 비교한다.사용한 메서드Integ.. 2026. 7. 20. [프로그래머스 Lv.0] 중복된 문자 제거(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문자열을 처음부터 끝까지 순회하면서 현재 문자가 처음 등장한 위치인지 확인한 뒤, 처음 등장한 문자만 결과 문자열에 추가했다.먼저 charAt()을 사용해 현재 문자를 가져온다.char c = my_string.charAt(i);그다음 indexOf()를 이용해 해당 문자가 문자열에서 처음 등장하는 위치를 찾는다.if (my_string.indexOf(c) == i) answer += c;indexOf(c)는 문자 c가 처음 나타나는 인덱스.. 2026. 7. 19. [프로그래머스 Lv.0] 최빈값 구하기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이먼저 각 숫자가 몇 번 등장했는지 저장하기 위해 빈도 배열을 만든다.문제에서 배열의 원소는 0 이상 999 이하이므로 크기가 1000인 배열을 생성한다.int[] mode = new int[1000];이후 입력 배열을 한 번 순회하면서 각 숫자의 등장 횟수를 증가시킨다.for (int i = 0; i 그다음 mode 배열을 순회하면서 가장 많이 등장한 숫자를 찾는다.if (max max : 현재까지의 최대 등장 횟수answer : 최빈값cnt :.. 2026. 7. 18. [프로그래머스 Lv.0] 배열 회전시키기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이오른쪽으로 회전하는 경우에는 현재 원소를 한 칸 뒤의 인덱스에 저장한다.answer[(i + 1) % numbers.length] = numbers[i];여기서 (i + 1) % numbers.length를 사용하면 마지막 원소도 자연스럽게 첫 번째 위치로 이동한다.예를 들어 numbers = {1, 2, 3}이라면 다음과 같이 저장된다.i저장위치결과01answer[1] = 112answer[2] = 220answer[0] = 3최종 결과는 {3.. 2026. 7. 17. [Java] 명언 게시판 만들기(1~5단계) - 리팩토링 [Java] 명언 게시판 만들기(1~5단계)요구사항1단계 - 종료2단계 - 등록3단계 - 등록시 생성된 명언번호 노출4단계 - 등록할때 마다 생성되는 명언번호가 증가5단계 - 목록6단계 - 1번 명언삭제7단계 - 존재하지 않는 명언삭제에 대한hyemzzi.tistory.com이번 단계에서는 명언 게시판의 기능은 변경하지 않고, 책임을 분리하여 가독성과 유지보수성을 높이는 방향으로 리팩토링을 진행했다.1. Main 클래스에서 로직 분리기존에는 Main 클래스가 프로그램의 모든 로직을 담당했다.하지만 Main은 프로그램을 시작하는 역할만 담당하고, 실제 기능은 App 클래스에서 처리하도록 변경했다.변경 전Main ├─ 등록 ├─ 목록 └─ 종료변경 후Main └─ App.run()public class Ma.. 2026. 7. 16. 이전 1 ··· 3 4 5 6 7 8 9 10 다음