내 블로그 목록

2019년 2월 12일 화요일

[Oracle(오라클)DB] SUBSTR() 이용하여 특정문자 기준으로 문자열 자르기


SUBSTR() 이용하여 특정문자 기준으로 문자열 자르기


//첫번째 특정문자 기준으로 자르기
SUBSTR(컬럼, ‘1’, INSTR(컬럼, , ‘특정문자’, 1, 1)-1)

//두번째 특정문자 기준으로 자르기
SUBSTR(컬럼, INSTR(컬럼, ‘특정문자’, 1, 1)+1, INSTR(B.CLASS_NAME, '.', 1, 2)-INSTR(B.CLASS_NAME, '.', 1, 1)-1)


[예시] 
SELECT  SUBSTR(B.CLASS_NAME, 1, INSTR(B.CLASS_NAME, '.', 1, 1)-1) AS FIRST
        ,SUBSTR(B.CLASS_NAME, INSTR(B.CLASS_NAME, '.', 1, 1)+1, INSTR(B.CLASS_NAME, '.', 1, 2)-INSTR(B.CLASS_NAME, '.', 1, 1)-1) AS SECOND
FROM TABLE B

[결과]










참고: https://prohannah.tistory.com/12


2019년 1월 3일 목요일

[C언어] for문 사용하여 3과 4로 나누어 떨어지는 수 구하기.


3과 4로 나누어 떨어지는 수 구하기.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(){

      int i, j;

      //방법[1] for(i=0; i<=99; i++){
      //방법[2] for(i=0; i<100; i=i+1){
      //방법[3] for(i=100; i>=0; i--){
      //방법[4] for(i=100; i>=0; i-=1){

      //방법[5]
      //int i=0;
      //for(; i<100; i++){

      for (i=0; i<100; i++){
            if (i % 3 == 0 && i % 4 == 0){
                  printf("%d\t", i);
            }
      }

      //방법[6] 
       for (i = 0;; i++){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
            }
            else{
                  break;
            }
      }

       //방법[7]
for (i = 0;;){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
                  i++;
            }
            else{
                  break;
            }

      }

//방법[8]
i = 0;
      for(;;){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
                  i++;
            }
            else{
                  break;
            }
      }

      //**참조** for(i=100; i>=0; i-=2){ 만약 2씩 감소한다면

      system("pause");
      return 0;
}

Result:


[C언어] 대입연산자와 형변환(Casting/Promoting)




#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(void){

      short a = 132;
      double b = a;
      printf("%f\n", b); 
//Result: 132.0000

      double d = 60000.345;
      short s = d;
      printf("%d\n", s); 
//Result: -5536. double>short이기 때문에 범위가 초과함.

      char c = 99;
      printf("%c\n", c); 
//Result: c

      short e = "abcd";
      printf("%d\n", e); 
//Result: 오류 발생. short에 문자열을 대입할 수 없음.

      system("pause");

}

** 크기가 작은 타입 변수 > 크기가 큰 타입 변수 대입 (O)
** 크기가 큰 타입 변수 > 크기가 작은 타입 변수 대입 (X)
** 문자열 변수 > 숫자 변수 대입 (X)

[C언어] 비주얼 스튜디오(Visual Studio) 설치 및 실행


[1] Visual Studio 설치하기


[2] ‘VS Express 2013 for Desktop’ 실행


[3] 새 프로잭트 생성




[4] 새 파일 생성
소스 파일 왼쪽 클릭 > 추가 > 새 항목 클릭



**참고 기본 include문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

#define _CRT_SECURE_NO_WARNINGS는 scanf() 함수를 위하여 선언함.
주의해야 할 점은 #include <studio.h> / #include <stdlib.h> 위에 선언해줘야 함.
Ex) scanf("%d", &height);

#include <stdlib.h> 
system("pause");를 위해서 선언해야 한다.


[5] 새 프로젝트 추가하기
솔루션 왼쪽 클릭 > 추가 > 새 프로젝트
이하 [3]번과 동일함.



[6] 프로젝트 변경 후 콘솔에서 결과 출력하기.
주의 ) C는 메인 실행 프로젝트가 자동으로 지정되어 콘솔에서 실행한다.  
//소스 파일 > 추가 > 새 항목 > 파일 생성

메인 실행 프로그램으로 지정하지 않은 프로젝트를 단독으로 실행하고자 한다면:
왼쪽에 새로 만든 프로젝트 왼쪽 클릭 > 디버그 > 새 인스턴스 시작

메인 실행 프로그램을 바꾸고자 한다면: 
왼쪽에 새로 만든 프로젝트 왼쪽 클릭 > 시작 프로젝트로 설정.




[C언어] 비쥬얼 스튜디오(Visual Studio) 줄 번호 옵션 추가




   도구 > 옵션 > 텍스트 편집기 > C/C++ > 일반 > 줄 번호 체크



[알고리즘] Level1.자연수 뒤집어 배열로 만들기 - 자바(java)


문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

제한 조건
N은 10,000,000,000 이하인 자연수입니다.

나의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

import java.util.ArrayList;
import java.util.List;

class Solution {
  public int[] solution(long n) {
      List<Integer> list = new ArrayList<Integer>();    
      Long.toString(n).chars().forEach(c -> list.add(c - '0'));

      int index = 0;
      int[] answer = new int[list.size()];
      for(int i=list.size()-1; i>=0; i--){
          answer[index++] = list.get(i);
      }

      return answer;
     }
 }


다른 사람의 풀이
(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
  public int[] solution(long n) {
      int length = Long.toString(n).length();
        int[] answer = new int[length];

        for (int i = 0; i < length; i++) {
            answer[i] = (int) (n % 10);
            n /= 10;
        }

        return answer;
  }
}

(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
  public int[] solution(long n) {
      String a = "" + n;
        int[] answer = new int[a.length()];
        int cnt=0;

        while(n>0) {
            answer[cnt]=(int)(n%10);
            n/=10;
            System.out.println(n);
            cnt++;
        }
      return answer;
  }
}



배울 점