210919 - 백준 11720

letsbebrave·2021년 9월 19일
0

codingtest

목록 보기
2/146

의문점

  • Scanner가 아니라 다른 방법으로 입력을 받을 수 있을까?

Array

타입[] 배열이름 = new 타입[배열길이];

int[] grade1 = new int[3]; // 길이가 3인 int형 배열의 선언 및 생성

int[] grade2 = new int[3]; // 길이가 3인 int형 배열의 선언 및 생성


grade1[0] = 85; // 인덱스를 이용한 배열의 초기화

grade1[1] = 65;

grade1[2] = 90;


for (int i = 0; i < grade1.length; i++) {
    System.out.print(grade1[i] + " "); // 인덱스를 이용한 배열로의 접근
}

length vs. length() vs. size()

  1. length
    -arrays(int[], double[], String[])
    -length는 배열의 길이를 알고자 할때 사용된다.
  1. length()
    -String related Object(String, StringBuilder etc)
    -length()는 문자열의 길이를 알고자 할때 사용된다.
  1. size()
    -Collection Object(ArrayList, Set etc)
    -size()는 컬렉션프레임워크 타입의 길이를 알고자 할때 사용된다.
public class lengthSizeTest{

    public static void main(String[] args){

        int[] lengthTest1 = new int[7];
        System.out.println( lengthTest1.length );  // 7
        
        String lengthTest2 = "lengthSizeTest";
        System.out.println( lengthTest2.length() );  // 14

        ArrayList<Object> sizeTest = new ArrayList<Object>();
        System.out.println( sizeTest .size() );  // 0
        
    }

}

숫자에서 n번째 자리 수 추출

(k / 10^(n-1))%10


원래 코드

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
         
        Scanner sc1 = new Scanner(System.in);
        Scanner sc2 = new Scanner(System.in);
        
        int num1 = sc1.nextInt();
        int num2 = sc2.nextInt();
        int result = 0;
        
        int[] num = new int[num1]; 
        
        for(int i = 0; i < num1; i++){
            int num3 = Integer.parseInt("1" + Integer.toString(0 * (i - 1)));
            num[i] = num2/num3;
            
            result += num[i];
        }
        
        System.out.println(result);
        
        
    }
}

수정한 코드

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
         
        Scanner sc = new Scanner(System.in);
        
        int num1 = sc.nextInt();
        int sum = 0;
        sc.nextLine(); 
        String str =sc.nextLine(); 
        
        for(int i=0; i<num1; i++){ 
            sum+=str.charAt(i)-'0'; 
            //char형을 int형 변수인 sum으로 형변환
        }

        
        System.out.println(sum);
        
        
    }
}
    char a = '1';
    //char형을 int형 변수인 num으로 형변환 가능	
    int num = a;
    System.out.println(num); // 1의 아스키코드 49
    
    char b = 'C';	
    int num2 = b;
    System.out.println(num2); // C의 아스키코드 67



References

http://tcpschool.com/java/java_array_oneDimensional
https://mine-it-record.tistory.com/126 [나만의 기록들]

profile
그게, 할 수 있다고 믿어야 해

0개의 댓글