Java
-
[프로그래머스] 같은 숫자는 싫어프로그래밍/코딩 테스트 2024. 8. 24. 17:25
문제.배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,* arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.* arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.제한 사항.* 배열 arr의 크기 : 1,000,000 이하의 자연수* 배열 arr의 원소의 크기 : 0보다 크거..
-
[프로그래머스] 3진법 뒤집기프로그래밍/코딩 테스트 2024. 8. 24. 16:55
문제.자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항.* n은 1 이상 100,000,000 이하인 자연수입니다. 나의 접근.자연수 n를 3진법으로 변환하고, 이를 역순하여 다시 10진법으로 변환한다.class Solution { public long solution(int n) { long answer = 0; // 3진법 값 long answer1 = 0; // 10진법 값 int count = 0; // 3진법 자릿수 if(n % 3 == 0) count = count -1; // 3진법 역순값 구하기 ..
-
[프로그래머스] 크기가 작은 부분 문자열프로그래밍/코딩 테스트 2024. 8. 24. 16:40
문제. 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.제한 사항.* 1≤ p의 길이 ≤ 18* P의 길이 ≤ t의 길이 ≤ 10,000* t 와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 나의 접근.주어진 문자열 t를 p길이로 잘라서, p값 보다 작으면, count를 올린다.단, ..
-
[프로그래머스] 이상한 문자 만들기프로그래밍/코딩 테스트 2024. 8. 24. 15:54
문제.문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항.* 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.* 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 나의 접근.주어진 문자열을 spite으로 쪼개어, 공백과 짝/홀수 인덱스를 파악하여 처리한다.class Solution { public String solution(String s) { String answer = ""; String[] str = s...
-
[Java] Optional<T>프로그래밍/JAVA 2023. 3. 12. 10:54
Optional을 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 된다. Optional를 사용하지 않을 경우, 조건문을 사용하여 null 체크를 해줘야한다. List member = memberRepository.findById(id); // member == null 일경우 String name = member.getName(); // NullPointerException 발생 List member = memberRepository.findById(id); // member == null 일경우 String name = ""; if(member != nul..
-
[Java] 스트림(Stream)프로그래밍/JAVA 2023. 3. 11. 23:07
자바 스트림(Stream)은 컬렉션(Collection)과 Array에 저장되어있는 요소(Element)들을 하나씩 순회하면서 처리할 수 있는 코드패턴으로 람다형(함수형 인터페이스)과 함께 사용되어 코드 양을 줄이고 간결한 표현으로 간단하게 요소를 처리할 수 있다. 스트림 생성 방법 // 리스트 List list = Arrays.asList("a", "b", "c"); list.stream(); // 배열 String[] array = new String[]{"a", "b", "c"}; Arrays.stream(array); 스트림 데이터 가공 1) map() 스트림에서 나오는 데이터를 변경하여 새로운 데이터를 만든다. List list = new ArrayList(Arrays.asList("Apple"..
-
[Java] Arrays.asList()프로그래밍/JAVA 2023. 3. 11. 21:22
자바 Arrays.asList는 Array를 ArrayList처럼 사용할 수 있게 도와주는 클래스로 java.util.Arrays의 Arrays.asList는 보통 사용하던 java.util.ArrayList의 ArrayList와는 엄연히 다르다. Arrays.asList는 remove(), add() 메소드를 제공하지 않고 set(), get(), contains() 를 제공하여 배열의 사이즈를 변경할 수 없다. String[] str = {"son", "hwang", "lee"}; List list = Arrays.asList(str); System.out.println(list); // [son, hwang, lee] String[] str = {"son", "hwang", "lee"}; List ..
-
[Java] Selenium(셀레니움)프로그래밍/JAVA 2022. 8. 18. 12:21
Selenium은 웹 크롤러를 간편하게 테스트하고 만들기 위한 프로그램으로 C#, java, PHP, Python 등 많은 언어를 지원하고 리눅스, 원도우, 맥등 다양한 환경에서 구동이 가능하다. 1. 셀리니움 라이브러리 다운로드 https://www.selenium.dev/downloads/ Downloads Selenium automates browsers. That's it! www.selenium.dev 라이브러리를 추가해준다. 2. 크롬드라이버 설치 먼저 크롬드라이버 설치 이전에 크롬 버전을 알아야한다. 아래와 같이 들어가면, 버전을 확인할 수 있고 이후 링크에서 맞는 드라이버를 다운로드 받아준다. https://chromedriver.chromium.org/downloads ChromeDriv..