inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 문자열 돌리기

    silver's avatar
    silver
    Apr 05, 2025
    [알고리즘문제풀기] 문자열 돌리기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181945

    내가 작성한 정답

    char

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); for(char c : a.toCharArray()){ System.out.println(c); } } }

    charAt

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); for(int i=0; i<a.length(); i++){ System.out.println(a.charAt(i)); } } }

    String

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String[] aa = a.split(""); for(String s : aa){ System.out.println(s); } } }

    다른 사람들의 정답

    forEach - String

    import java.util.*; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); Arrays.stream(a.split("")).forEach(System.out::println); } }

    forEach - char

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); // a.chars()는 IntStream을 반환하기 때문에 (char)로 변환하지 않으면 숫자로 출력된다 a.chars().forEach(c->System.out.println((char)c)); //그래서 이렇게 해도 됨 a.chars().mapToObj(i->(char)i).forEach(System.out::println); } }
    💡

    forEach

    1. 반복 작업 수행: 컬렉션 또는 스트림의 각 요소에 대해 주어진 작업을 한 번씩 실행
    1. 순차적 처리: 요소들을 순서대로 처리 (스트림의 경우 병렬 스트림이 아니라면).
    1. 사이드 이펙트 중심: forEach는 주로 컬렉션 또는 스트림의 요소를 변경하거나, 외부 상태를 변경하는 등의 사이드 이펙트를 발생시키는 데 사용. 값을 반환하거나 새로운 컬렉션을 생성하는 데는 적합하지 않다.
     
    1. 인수: : forEach 메서드는 java.util.function.Consumer 인터페이스를 구현한 함수형 인터페이스를 인수로 받는다. Consumer는 한 개의 입력을 받아서 아무 값도 반환하지 않는 함수를 나타낸다.
    1. 반환 값 : forEach 메서드는 아무 값도 반환하지 않는다 (void 타입).
    1. 종료 연산 : 스트림에서 forEach는 종료 연산(terminal operation)에 해당한다. 따라서 forEach가 호출되면 스트림 파이프라인이 실행되고 결과가 처리된다.
    Share article

    silver

    RSS·Powered by Inblog