블로그 이미지
오정oI

카테고리

분류 전체보기 (119)
회사 - pj # 나라원 (1)
회사 - pj # 나라원 (2)
이직준비 (10)
국비-클라우드 (1)
학점은행제 (0)
취미 (0)
주식 (0)
외국어 (0)
자격증 (14)
BigData_On (1)
BigData_Off1 (74)
클라우드 (0)
언어_Framework (1)
언어-Server (2)
언어_Client (0)
업무 (1)
IT참고서적 (1)
IT 최신 트랜드 (0)
제테크 (1)
Study Plan (2)
동영상 및 자료 (5)
여행 (1)
git (0)
Total
Today
Yesterday
반응형
SMALL

### 2022.10.18. 화

1) 최댓값과 최솟값

- 시간 : 오후 3시 10분 ~ 3시 35분 사이

 

* 효율성 ↑

① 데이터 많아졌을 때 고민, 

- 숫자 배열 생성하지 말고, int minVal, int maxVal 2개 변수 만들어서 데이터 비교문 안에서 값 추출!

int[] numArr = new int[strings.length];

 

// sol. 

import java.util.Arrays;
import java.lang.*;

class Solution {
    public String solution(String s) {
       
        // 1. 문자열 배열에 담기
        String[] strings = s.split(" ");
        int[] numArr = new int[strings.length];
        for (int i = 0; i < strings.length; i++) {
            numArr[i] = Integer.parseInt(strings[i]);
        }
        
        // 2. 데이터 정렬
        Arrays.sort(numArr);
        
        // 3. 첫번째 값과 마지막값 리턴
        return numArr[0] +" "+ numArr[s.split(" ").length-1];
    }
}

 

2) JadenCase 문자열 만들기

- 시간 : 오후 4시 이후. 오래 걸림..,

 

 

* 효율성 ↑

① 일단 다 소문자 처리

② 문자열에 " " 위치 찾아서 해당위치 +1 대문자 처리 ( + substring 함수도 같이 이용!)

③ 문자열 배열에 " " 기준으로 데이터 담아서 해당 문자 첫번째 글자만 대문자 처리

 

// sol. 1

import java.io.*; 
import java.util.*;
import java.nio.charset.StandardCharsets;

class Solution {
    public String solution(String s) {
        
        String answer = "";
        // 1. 문자열 다 소문자 처리
        s = s.toLowerCase();
        
        // 2. 문자열 문자 배열에 담기
        String jArr[] = s.split("");
        byte[] bytes = s.getBytes(StandardCharsets.US_ASCII);
        boolean test = false;
        
        // 3. 빈 공백 다음 문자 대문자 처리
        for(int i=0;i<jArr.length;i++){

           if(test || i == 0 && (bytes[i]>= 97 &&  bytes[i]<= 122) ){
               jArr[i]=jArr[i].toUpperCase();
               test = false;
            }

            if(bytes[i] == 32){
               test = true;
            }   
        }

        answer  = Arrays.toString(jArr).replace("[", "").replace("]", "").replace(", ", "");
        
        return answer;
    }
}

// sol. 2

class Solution {
  public String solution(String s) {
        String answer = "";
        String[] sp = s.toLowerCase().split("");
        boolean flag = true;

        for(String ss : sp) {
            answer += flag ? ss.toUpperCase() : ss;
            flag = ss.equals(" ") ? true : false;
        }

        return answer;
  }
}
반응형
LIST

'이직준비 > 목표1_코테1(2210)' 카테고리의 다른 글

Level 3-2 ( 1)이중우선순위큐 2)야근 지수 )  (0) 2022.11.09
Level 3-1 ( 1)불량 사용자 )  (0) 2022.11.09
Level 1  (0) 2022.10.18
Level 0  (0) 2022.10.18
목차  (0) 2022.10.18
Posted by 오정oI
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함