#5 Java Output Formatting

HackerRank/HR-Java 2015. 11. 17. 23:50 by 후뤼한잉여

https://www.hackerrank.com/challenges/java-output-formatting


Take exactly 3 lines of input. Each line consists of a string and an integer. Suppose this is the sample input:

java 100
cpp 65
python 50

The strings will have at most 10 alphabetic characters and the integers will range between 0 to 999.

In each line of output there should be two columns. The string should be in the first column and the integer in the second column. This is the output for the input above:

================================
java           100 
cpp            065 
python         050 
================================

The first column should be left justified using exactly 15 characters. The integer of the second column should have exactly 3 digits. If the original input has less than 3 digits, you should pad with zeros to the left.

To make the problem easier, some part of the solution is already given in the editor, just complete the remaining parts.


입력은 문자열은 최대 10자리, 정수형은 0부터 999로 입력이 된다.

출력시에는 첫번째 컬럼 즉 문자열은 15자리로 왼쪽 정렬이 되어야 하며, 두번째 컬럼 즉 정수형은 3자리여야 한다.

정수 값이 3자리 보다 작으면 왼쪽에 0으로 채운다.


보낸 답)

printf를 사용하여 문자열은 15자리인데 왼쪽정렬(-)을 하고(%-15s), 정수형은 3자리인데 앞에 부족한 부분은 0으로 채워놓는 형식(%03d)으로 해서 제출했다.

import java.util.Scanner;


public class Solution {

    public static void main(String[] args) {

            Scanner sc = new Scanner(System.in);

        

            System.out.println("================================");

            for(int i=0; i<3; i++){

                String s1 = sc.next();

                int x=sc.nextInt();

                System.out.printf("%-15s%03d\n",s1, x);

            }

            System.out.println("================================");


    }

}


'HackerRank > HR-Java' 카테고리의 다른 글

#8 Java End-of-file  (0) 2015.11.23
#6 Java Loops  (0) 2015.11.18
#4 Java Stdin and Stdout 2  (0) 2015.11.17
#3 Java If-Else  (0) 2015.11.17
#2 Java Stdin and Stdout 1  (0) 2015.11.17

#1 Revising the Select Query - 1

HackerRank/HR-SQL 2015. 11. 17. 11:52 by 후뤼한잉여

https://www.hackerrank.com/challenges/revising-the-select-query


Given a City table, whose fields are described as

+-------------+----------+
| Field       | Type     |
+-------------+----------+
| ID          | int(11)  |
| Name        | char(35) |
| CountryCode | char(3)  |
| District    | char(20) |
| Population  | int(11)  |
+-------------+----------+

write a query that will fetch all columns for every row in the table where the CountryCode = 'USA' (i.e, we wish to retreive data for all American cities) and the population exceeds 100,000.

City라는 테이블은 다음과 같은 명세로 주어져 있다.

모든 컬럼을 가져오는데 CountryCode는 USA로 하며 Population이 100,000 초과하는 도시에 대해서 조회하라는 듯 하다.


보낸 답)

SELECT  *

FROM    City

WHERE   CountryCode = 'USA'

AND     Population >= 100000;


#4 Java Stdin and Stdout 2

HackerRank/HR-Java 2015. 11. 17. 11:40 by 후뤼한잉여

https://www.hackerrank.com/challenges/java-stdin-stdout


Sample Input

42
3.1415
Welcome to Hackerrank Java tutorials!

Sample Output

String: Welcome to Hackerrank Java tutorials!
Double: 3.1415
Int: 42

정수, 실수, 문자열 순으로 입력받아 역순으로 출력하기.


보낸 답)

import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {

            Scanner sc=new Scanner(System.in);

        

            int i = sc.nextInt();

            double d = sc.nextDouble();

            sc.nextLine();

            String s = sc.nextLine();

            

            System.out.println("String: " + s);

            System.out.println("Double: " + d);

            System.out.println("Int: " + i);

    }

}



'HackerRank > HR-Java' 카테고리의 다른 글

#6 Java Loops  (0) 2015.11.18
#5 Java Output Formatting  (0) 2015.11.17
#3 Java If-Else  (0) 2015.11.17
#2 Java Stdin and Stdout 1  (0) 2015.11.17
#1 Welcome to Java!  (0) 2015.11.17

#3 Java If-Else

HackerRank/HR-Java 2015. 11. 17. 00:23 by 후뤼한잉여

https://www.hackerrank.com/challenges/java-if-else


문제)

Given an integer N as input, check the following:

  • If N is odd, print "Weird".
  • If N is even and, in between the range of 2 and 5(inclusive), print "Not Weird".
  • If N is even and, in between the range of 6 and 20(inclusive), print "Weird".
  • If N is even and N>20, print "Not Weird".

We given you partially completed code in the editor, complete it to solve the problem.

Input Format

There is a single line of input: integer N.

Constraints 
1N100

Output Format

Print "Weird" if the number is weird. Otherwise, print "Not Weird". Do not print the quotation marks.


입력받은 N이 홀수이면 "Weird" 출력

N이 짝수면서 2~5 사이면 "Not Weird" 출력

N이 짝수면서 6~20 사이면 "Weird" 출력

N이 짝수면서 20보다 크면 "Not Weird" 출력


기본적으로 import 되어있는 라이브러리를 보면 정규식등 이용할 수 있게 한거 같은데 잘 모르니 무식하게 고


보낸 답)

  import java.util.Scanner;


    public class Solution {

        public static void main(String[] args) {


            Scanner sc = new Scanner(System.in);

            int n = sc.nextInt();

            String ans = "";

            

            if(n%2 == 1) {

                ans = "Weird";

            } else if(n > 20) {

                ans = "Not Weird";

            } else if(n > 6) {

                ans = "Weird";

            } else {

                ans = "Not Weird";

            }

            

            System.out.println(ans);

        }

    }


'HackerRank > HR-Java' 카테고리의 다른 글

#6 Java Loops  (0) 2015.11.18
#5 Java Output Formatting  (0) 2015.11.17
#4 Java Stdin and Stdout 2  (0) 2015.11.17
#2 Java Stdin and Stdout 1  (0) 2015.11.17
#1 Welcome to Java!  (0) 2015.11.17

#2 Java Stdin and Stdout 1

HackerRank/HR-Java 2015. 11. 17. 00:06 by 후뤼한잉여

https://www.hackerrank.com/challenges/java-stdin-and-stdout-1


3번 입력받아 출력하는 문제


입력 예)

42
100
125


출력 예)

42
100
125


보낸 답)

import java.util.*;


public class Solution {


    public static void main(String[] args) {

      Scanner sc=new Scanner(System.in);

            

      for(int i=0; i<3; i++) {

        System.out.println(sc.nextInt());

      }

    }

}


'HackerRank > HR-Java' 카테고리의 다른 글

#6 Java Loops  (0) 2015.11.18
#5 Java Output Formatting  (0) 2015.11.17
#4 Java Stdin and Stdout 2  (0) 2015.11.17
#3 Java If-Else  (0) 2015.11.17
#1 Welcome to Java!  (0) 2015.11.17

#1 Welcome to Java!

HackerRank/HR-Java 2015. 11. 17. 00:03 by 후뤼한잉여

https://www.hackerrank.com/challenges/welcome-to-java


단순히 출력하는 문제


출력 예)

Hello World.
Hello Java.


보낸 답)

public class Solution {


   public static void main(String []argv) {

      System.out.println("Hello World.");

      System.out.println("Hello Java.");

   }


}


'HackerRank > HR-Java' 카테고리의 다른 글

#6 Java Loops  (0) 2015.11.18
#5 Java Output Formatting  (0) 2015.11.17
#4 Java Stdin and Stdout 2  (0) 2015.11.17
#3 Java If-Else  (0) 2015.11.17
#2 Java Stdin and Stdout 1  (0) 2015.11.17

도전!

HackerRank 2015. 11. 16. 23:59 by 후뤼한잉여

알고리즘 이나 프로그래밍 문제를 푸는 사이트 중 하나로 온라인 면접시 많이 사용한다는 해커랭크 라는 사이트에 적응해보기 위해 챌린지에 도전!

허접하지만 하루에 한개씩이라도 풀어보기로 했습니다.

어짜피 잉여니까요 ^^


https://www.hackerrank.com

9. R 문법 2 - 문자형, boolean형 과 논리연산자

R 2015. 11. 12. 12:42 by 후뤼한잉여

9. R 문법 2 - 문자형, boolean형 과 논리연산자

1) 개요

R의 문법 중 기초인 문자형과 진리값을 표현하는 boolean형과 논리연산자에 대해 공부하겠습니다.

2) 문자형

R에서는 다른 프로그래밍 언어와 다르게 문자형과 문자열을 구분하지 않습니다.
JAVA의 String 처럼 전부 문자열로 인식을 합니다.
사용은 문자열을 작은 따옴표(')나 큰 따옴표(")로 감싸서 사용합니다.

예)
print('a')
print("a")
  • 문자형으로 입력된 숫자를 숫자형으로 변환하기
    as.numeric(문자형숫자)
    
    예)
    as.numeric('32')
    
  • 데이터형 검사하기
    다른 데이터형에도 공통으로 데이터형이 무엇인지 검사할 때 사용됩니다. 문자형이 제대로 숫자형으로 변환된건지 확인을 위해 여기서 언급을 하겠습니다.
    class(데이터)
    
    예)
    > class('1')
    [1] "character"
    
    예)
    > class(as.numeric('1'))
    [1] "numeric"
    

3) boolean형 과 논리연산자

boolean형은 진리값이라고 하며 논리연산의 결과로 사용됩니다.

3-1. boolean형
우선 컴퓨터는 0과 1의 비트만을 이용하여 계산을 하는데 0은 거짓이라고 인식하면 0이외의 값은 참이라고 인식을 한다.
R에서는 참과 거짓을 TRUE, FLASE로 표기하는데 반드시 대문자로 사용해야 한다.
R은 대소문자를 구분하기 때문에 TRUE와 true는 다른 것으로 인식한다.

진리값 설명
TRUE
FLASE 거짓

3-2. 논리연산자
참과 거짓의 값을 이용하여 연산하는 연산자이다.

논리연산자 기호 설명
NOT ! 참은 거짓, 거짓은 참으로 반전 시켜줌
AND & 양쪽 모두 참이여야 참
AND &&
OR 양쪽 중 하나만 참이여도 참
OR ││
XOR xor(A,B) 함수로 제공
A나 B 서로 다를 때만 참
  1. NOT(!) 연산자
    A의 진리값을 반전시킨다.
    !A
    
    예)
    > !0
    [1] TRUE
    
    0은 FALSE이지만 NOT 연산을 통해 반전 시켜줌으로써 TRUE가 되었다.
    예)
    > !4
    [1] FALSE
    
    4는 0 이외의 숫자이므로 TRUE이지만 NOT 연산을 통해 반전 시켜줌으로써 FALSE가 되었다.
  2. AND(&,&&) 연산자
    A와 B 모두 참일 경우에만 참을 출력한다.

    A & B
    A && B
    
    예)
    > 5 & 5
    [1] TRUE
    

    A와 B 모두 참이므로 참

    예)
    > 5 & 0
    [1] FALSE
    

    B가 거짓이므로 거짓

    • & 연산자와 &&연산자의 차이
      &연산자는 각 요소별로 연산자를 수행하지만 &&연산자는 처음 요소만 연산을 수행한다.
      &연산 할 때는 A와 B 요소의 갯수가 같아야만 하지만, &&연산은 갯수가 달라도 처음 요소만 연산하기 때문에 관계 없다.
      예)
      > c(TRUE, TRUE, FALSE) & c(FALSE, TRUE, FALSE)
      [1] FALSE TRUE FALSE
      
      1번째 요소인 TRUE와 TRUE를 비교, 2번째 요소인 TRUE와 TRUE를 비교, 3번째 요소인 FALSE와 FALSE를 비교한 결과 값이 출력 된다.
      예)
      > c(TRUE, TRUE, FALSE) && c(FALSE, TRUE)
      [1] FALSE
      
      1번째 요소인 TRUE와 TRUE만 비교한 결과가 출력된다.
  3. OR(|,||) 연산자
    A나 B중 하나가 참이면 참을 출력하며 A와 B 모두 거짓일 때만 거짓을 출력한다.

    A | B
    A || B
    
    예)
    > 5 | 0
    [1] TRUE
    

    A가 참이므로 참

    예)
    > 0 & 0
    [1] FALSE
    

    A와 B가 모두 거짓이므로 거짓

    • | 연산자와 ||연산자의 차이
      위에서 설명한 AND(&,&&)연산자에 설명한 내용과 동일하다.
      예)
      > c(TRUE, TRUE, FALSE) | c(FALSE, TRUE, FALSE)
      [1] TRUE TRUE FALSE
      
      예)
      > c(TRUE, TRUE, FALSE) || c(FALSE, TRUE)
      [1] TRUE
      
  4. XOR 함수
    XOR은 A와 B가 서로 다를 때만 참이다.
    XOR의 경우 기본 논리 연산자가 아닌 조합된 논리 연사자 이므로 함수로써 제공이 된다. 다른 언어에서는 연산자로 제공하는 경우가 있어 여기에서 설명을 했다.
    xor(A,B)
    
    예)
    > xor(5,0)
    [1] TRUE
    
    예)
    > xor(5,5)
    [1] FALSE
    

'R' 카테고리의 다른 글

R에 현재 로딩된 패키지, 로케일 등 정보 보기  (0) 2016.03.11
R Locale 설정하기  (0) 2016.03.11
8. R 문법 1 - 산술연산  (0) 2015.11.12
7. 지수 표기법  (0) 2015.11.12
6. 간단한 출력 맛 보기  (0) 2015.11.12

8. R 문법 1 - 산술연산

R 2015. 11. 12. 11:21 by 후뤼한잉여

8. R 문법 1 - 산술연산

1) 개요

문법을 공부함에 가장 기본이 되는 산술 연산에 대해 공부하고 정리해보려고 합니다.

2) 산술연산자

기호 의미
+ 더하기
- 빼기
* 곱하기
/ 나누기(실수 포함)
%/% 나누기(정수만)
%% 나머지
^, ** 승수
  1. 더하기(+) 연산자
    예1)
    1+2
    => 3
    
  2. 빼기(-) 연산자
    예2)
    2-1
    => 1
    
  3. 곱하기(*) 연산자
    예3)
    2*5
    => 10
    
  4. 나누기(/, %/%) 연산자
    • 실수 나누기 연산
      예4)
      5.0/4.0
      => 1.25
      
    • 정수 나누기 연산
      예5)
      5%/%4
      => 1
      
  5. 나머지(%%) 연산자
     예6)
     10%%4
     => 2
    
  6. 승수(^,**) 연산자
    • ‘^’ 연산자
      예7)
      3^2
      => 9
      
    • ** 연산자
      예8)
      3**2
      => 9
      
  • 일반 수학의 사칙연산 또는 다른 프로그래밍언어를 생각해보면 아시겠지만 R에서도 동일하게 사칙연산의 우선순위가 있으며 괄호를 먼저 계산 하는 개념이 존재합니다.

'R' 카테고리의 다른 글

R Locale 설정하기  (0) 2016.03.11
9. R 문법 2 - 문자형, boolean형 과 논리연산자  (0) 2015.11.12
7. 지수 표기법  (0) 2015.11.12
6. 간단한 출력 맛 보기  (0) 2015.11.12
5. 작업 디렉토리 설정  (0) 2015.11.12

7. 지수 표기법

R 2015. 11. 12. 11:20 by 후뤼한잉여

7. 지수 표기법

1) 개요

계산을 하다보면 긴 숫자를 처리해야할 필요가 있을 때 사용하기 위해 공부해봅니다.

2) 지수 출력

R에서는 10의 배수일 때 0이 5개가 넘어가는 십만 부터는 지수로 표기를 합니다.

예)
> 10000
[1] 10000
예)
> 100000
[1] 1e+05
  • 1e+05의 의미는 1 * 10의 5승을 의미합니다.
  • 즉, 10의 승수를 이용하여 십만 단위 이상을 표현하게 됩니다.

소수부 에서도 동일하게 적용되어 사용된다.

예)
> 0.001
[1] 0.001
예)
> 0.0001
[1] 1e-04

3) 지수 입력

지수형태로 데이터를 입력하고자 할 때 입력하는 방법을 소개한다.

예)
> 1e4
또는
> 1e+04
[1] 10000
예)
> 1e-3
또는
> 1e-03
[1] 0.001
  • 지수로 입력시 최대 10의 4승 최소 10의 -3승 까지만 입력이 가능했다.
  • 다른 방법으로 입력 가능한지는 공부해보면서 정리해보겠습니다.

'R' 카테고리의 다른 글

9. R 문법 2 - 문자형, boolean형 과 논리연산자  (0) 2015.11.12
8. R 문법 1 - 산술연산  (0) 2015.11.12
6. 간단한 출력 맛 보기  (0) 2015.11.12
5. 작업 디렉토리 설정  (0) 2015.11.12
4. R의 실행 구조  (0) 2015.11.12
Nav