반응형

프로그래밍 언어 27

[파이썬/python] 리스트 요소 간 합

1. 1차원 리스트 합 1 2 3 4 a = [1, 2, 3, 4] print(sum(a)) # 10 cs - sum()을 사용하여 1차원 리스트들의 요소 값을 합해준다. 2. 2개의 리스트 요소 합 1) zip() 사용 1 2 3 4 5 6 7 a = [1, 2, 3, 4, 5] b = [5, 6, 7, 8, 9] c = [x + y for x, y in zip(a,b)] print(c) # [6, 8, 10, 12, 14] Colored by Color Scripter cs 2) index 사용 1 2 3 4 5 6 a = [1, 2, 3, 4, 5] b = [5, 6, 7, 8, 9] c = [a[i] + b[i] for i in range(len(a))] print(c) # [6, 8, 10, 1..

[자바/java] int[] 배열 내림차순 정렬 (Integer[] 배열없이)

1 2 3 4 5 int[] a = {1,2,3,4,5,6}; a = Arrays.stream(a).boxed().sorted(Collections.reverseOrder()).mapToInt(Integer::intValue).toArray(); // a = {6,5,4,3,2,1} Colored by Color Scripter cs - 앞에 있는 게시물에는 int[] 배열을 Interger[]로 변환시키고 그 변환된 배열을 내림차순으로 정렬 후 다시 int[] 배열로 바꾸어 주었는데 위와 같은 방법으로 스트림을 사용하면 Integer변환 없이 사용할 수 있다.

[자바/java] Arrays.stream을 이용해 배열 최소값 찾고 응용해보기

Arrays.stream을 이용해 배열의 최솟값을 찾는다. 1 2 3 4 int[] arr = {5,2,42,512,62,37,84,63,8,9,3,51}; int min = Arrays.stream(arr).min().getAsInt(); Colored by Color Scripter cs -위와 같이 Arrays.stream(arr).min().getAsInt()로 배열의 최솟값을 한줄로 가독성 좋게 찾아낼 수 있다. 1 2 3 4 5 6 7 8 9 10 11 int[] arr = {5,2,42,512,62,37,84,63,8,9,3,51}; int min = Arrays.stream(arr).min().getAsInt(); int[] arr2 = Arrays.stream(arr).filter(i -..

[자바/java] int[] 배열을 Integer[] 배열로 변환 (반대 과정 포함/내림차순 정렬)

int형 배열을 Integer형 배열로 변환. Integer형 배열을 int형 배열로 변환. 1 2 3 4 5 6 7 8 int[] a = new int[] {1,2,3,4}; //int[] - > Integer[] Integer[] conv = Arrays.stream(a).boxed().toArray(Integer[]::new); //Integer[] -> int[] a = Arrays.stream(conv).mapToInt(Integer::intValue).toArray(); Colored by Color Scripter cs - int[] 배열을 내림차순으로 쉽게 정렬하려면 Integer[] 배열로 바꾼 뒤 Collections.reverseOrder() 메서드를 사용하게 되는데 위에 같은 방법을..

[자바/java] stream사용해서 ArrayList<Integer>을 int[]로 반환하기

들어가기 앞서 자바 스트림이란? 자바 8부터 추가된 기능으로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술입니다. 장점 - 기존 배열이나 컬렉션을 반복문으로 순회하면서 하나씩 꺼내는 코드를 사용하지 않고 간결하게 표현 가능하다. - 멀티 스레드 환경에 필요한 코드를 작성하지 않아도 데이터를 병렬로 처리할 수 있다. 동작 단계 1. 배열이나 컬렉션으로 스트림을 생성(Stream Source) 2. 스트림을 필터링, 요소를 변환하는 중간 연산(Intermediate Operations) 3. 결과를 도출하는 단말 연산(Terminal Operations) [사용 예제] 1 2 3 4 5 6 7 ArrayList al = new ArrayList(); al.add(1); al.add(2); i..

[자바라이브러리] HashMap에 값 추가하기 응용 (Map.getOrDefault())

getOrDefault(Object Key, defaultValue) Object Key - 값을 찾을 key값 defaultValue - Key에 원래 값이 있다면 원래 값을 반환하고, 아니라면 defaultValue를 반환한다. [사용법] 1 2 3 String[] arr = {"hi", "world", "hi", "bye"}; HashMap hm = new HashMap(); for(String a : arr) hm.put(a, hm.getOrDefault(a, 0) + 1); //{hi = 2, world = 1, bye =1} cs 위에 사용법과 같이 put 즉, 값을 넣어줄 때 많이 사용하는 메서드이다.

[자바라이브러리] 제곱근 구하기 (Math.sqrt)

일반적인 클래스는 new로 객체를 생성하여 만들지만 "Math" 클래스에서 제공하는 수학적 메소드는 다 정적이므로 객체를 만들지 않아도 됩니다. 아래 예시 처럼 파라미터나 double형 변수를 선언하고 사용할 수 있습니다. [사용방법] public double solution(int n){ double a = Math.sqrt(n); return a; } 기본적으로 Math.sqrt() 메서드는 double형을 반환해줍니다. 파라미터도 double형을 필요로 하지만 int형을 사용해도 오류가 나지 않습니다. 필요하다면 형변환을 통해 필요한 자료형으로 변환 시켜주면 됩니다. *같이 쓰기 좋은 메서드는 Math.round()가 있고 이 메서드는 소수점 자리를 반올림하는 역할을 합니다.

반응형