6027. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

(예시)
a = input()
n = int(a)            #입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'% n)  #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력

(참고)
10진수 형태로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
(%o로 출력하면 8진수(octal) 문자열로 출력된다.)

10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다.

a = int(input())
print(hex(a)[2:])

 

6028. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

(예시)
print('%X' % n)  #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력

(참고)
10진수 형태로 입력받고
%X로 출력하면 16진수(hexadecimal)대문자로 출력된다.

16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
16진수 A는 10진수의 10, B는 11, C는 12 ... 와 같다.

a = int(input())
b =  hex(a)[2:]
print(b.upper())

6025. 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.

(예시)
a, b = input().split()
c = int(a) + int(b)
print(c)

(참고)
입력되는 값은 기본적으로 문자열로 인식된다.

문자열 + 문자열은 두 문자열을 합친 문자열을 만든다.
숫자로 구성된 문자열이나 실수를 정수(integer) 값으로 바꾸기 위해서는 int( ) 를 사용할 수 있다.
수 + 수의 결과는 합(addition)이 계산된다.

a, b = input().split()
c = int(a) + int(b)
print(c)

 

6026. 실수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.

(참고)
입력되는 값은 기본적으로 문자열로 인식된다.

숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.

a = input()
b = input()
c = float(a) + float(b)
print(c)

6009. 변수에 문자 1개를 저장한 후 변수에 저장되어 있는 문자를 그대로 출력해보자.

a = input()
print(a)

 

6010. 변수에 정수값을 저장한 후 정수로 변환하여 출력해보자.

a = int(input())
print(a)

 

6011. 변수에 실수값을 저장한 후 변수에 저장되어 있는 값을 그대로 출력해보자.

a = float(input())
print(a)

 

6012. 줄을 바꿔 정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.

a = input()
b = input()
print(a)
print(b)

 

6013. 줄을 바꿔 문자(character) 2개를 입력받고, 순서를 바꿔 한 줄 씩 출력해보자.

a = input()
b = input()
print(b)
print(a)

 

6014. 실수(real number) 1개를 입력받아 줄을 바꿔 3번 출력해보자.

a = float(input())
print(a)
print(a)
print(a)

 

6015. 공백을 두고 입력된 정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.

a, b = input().split()
print(a)
print(b)

Tip. Python의 input()은 한 줄 단위로 입력을 받는다.

input().split()을 사용하면, 공백을 기준으로 입력된 값들을 나누어(split) 자른다.

※ 다른 프로그래밍 언어에서는 이러한 방법을 지원하지 않기 때문에 a=1, b=2를 한 번에 하나씩 따로 실행시켜야 한다.

 

6016. 공백을 두고 문자(character) 2개를 입력받아 순서를 바꿔 출력해보자.

a, b = input().split()
print(b, a)

Tip. print() 안에서 쉼표(,)를 찍어 순서대로 나열하면, 그 순서대로 공백을 두고 출력된다.

 

6017. 정수(integer), 실수, 문자(character), 문자열(String) 등 1개만 입력받아 한 줄로 3번 출력해보자.

a = input()
print(a, a, a) #공백으로 구분해 한 줄로 출력한다.

Tip. python 언어에서는 문자/정수/실수/문자열 등 특별한 구분이 없이도 원하는 변수에 저장시켜 출력 할 수 있다.
하지만, 저장된 값을 이용해 계산하거나 서로 붙여 연결시키거나 잘라내는 작업을 한다면?
반드시 저장되어있는 값의 종류(문자/정수/실수/문자열 등)를 구분해 주어야 한다.

6018. 24시간 시:분 형식으로 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

a,b = input().split(':')
print(a, b, sep=':')

Tip. input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다.
print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다.
sep 는 분류기호(seperator)를 의미한다.

 

6019. "연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자.

y, m, d = input().split('.')
print(d, m, y, sep='-')

 

6020. 주민번호는 다음과 같이 구성된다. XXXXXX-XXXXXXX

왼쪽 6자리는 생년월일(YYMMDD)이고, 오른쪽 7자리는 성별,출생지역,확인코드로 구성되어있다.
주민번호를 입력받아 형태를 바꿔 출력해보자.

- 주민번호 앞 6자리와 뒷 7자리가 '-'로 구분되어 입력된다. (입력값은 가상의 주민번호이다.)
ex)110011-0000000

- '-'를 제외한 주민번호 13자리를 모두 붙여 출력한다.

(참고)
아무것도 없는 공(empty) 문자는 작은 따옴표(') 2개를 붙여서 '' 로 표현한다.

a, b  = input().split('-')
print(a, b, sep='')

 

6021. 알파벳과 숫자로 이루어진 단어 1개가 입력된다. 입력받은 단어의 각 문자를 한 줄에 한 문자씩 분리해 출력한다.

(예시)
s = input()
print(s[0])
print(s[1])
...

(참고)
s[0] 은 첫 번째 문자를 의미한다.

a = input()
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4])

 

6022. 6자리의 연월일(YYMMDD)을 입력받아 나누어 출력해보자.

(참고)
s = input()
print(s[0:2])

를 실행하면 0번째 문자부터 1번째 문자까지 잘라 출력한다.
s[a:b] 라고 하면, s라는 단어에서 a번째 문자부터 b-1번째 문자까지 잘라낸 부분을 의미한다.
다른 자르기 방법도 있다.

a = input()
print(a[0:2], a[2:4], a[4:6])

 

6023. 시:분:초 형식으로 시간이 입력될 때 분만 출력해보자.

어떻게 분만 출력해야 할지 주의 깊게 생각해야한다.

h, m, s = input().split(':')
print(m)

 

6024. 알파벳 문자와 숫자로 이루어진 단어 2개를 입력받아
순서대로 붙여 출력하는 프로그램을 작성해보자.

(예시)
w1, w2 = input().split()
s = w1 + w2
print(s)

(참고)
단어는 문자(character)들로 만든다.
문자들로 구성된 문장을 문자열(string)이라고 부른다.
문자열에는 공백문자(' ')가 포함될 수 있는데, 
문자 1개는 길이가 1인 문자열이라고 할 수 있고, 공백문자(' ')가 없는 문자열은 단어(word)라고 할 수 있다.

일반적인 문장들은 공백으로 구분된 단어들로 만들어지기 때문에,
공백문자로 구분된 문장에서 단어를 잘라내기 위해서는 공백문자(' ')를 기준으로 자르면 된다.
키보드로 입력되는 것들은 기본적으로 문자열로 인식되고, 문자열끼리 더하기(+)를 실행하면,
두 문자열을 합쳐 연결한(concatenate) 결과를 만들어 낸다.

a, b = input().split()
c = a + b
print(c)

주석(Comment)은 로직에 대한 설명이나 코드를 비활성화 할 때 사용한다. 

주석은 프로그래밍적으로 해석되지 않는다.

한줄 주석

	public static void main(String[] args) {
		// 두 개의 변수가 같은 데이터 타입일 때 아래와 같이 코드를 작성한다.
		String a, b;

	}

 

여러줄 주석

	public static void main(String[] args) {
		
		String a, b;
        
        /*
        a = "coding";
        b = "everybody";
        System.out.println(a+b);
        */
	}

 

JavaDoc 주석

/**
 * Prints an integer and then terminate the line.  This method behaves as
 * though it invokes <code>{@link #print(int)}</code> and then
 * <code>{@link #println()}</code>.
 *
 * @param x  The <code>int</code> to be printed.
 */
public void println(int x) {
    synchronized (this) {
        print(x);
        newLine();
    }
}

JavaDoc 주석은 /**으로 시작하는 주석으로 자바의 문서를 만들 때 사용한다.

 

세미콜론

세미콜론(Semicolon)은 문장(Statement)의 끝을 의미한다.

자바에서는 문장의 끝에 세미콜론을 사용하지 않으면 컴파일 에러가 발생한다.

// assignment statement
aValue = 8933.234;
// increment statement
aValue++;
// method invocation statement
System.out.println("Hello World!");
// object creation statement
Bicycle myBike = new Bicycle();

세미콜론을 이용하면 여러개의 문장을 한 줄에 표현할 수 있다.

int a = 100; double b = 10.1;

'Java > 생활코딩' 카테고리의 다른 글

[생활코딩] 변수  (0) 2021.12.20
[생활코딩] 숫자와 문자  (0) 2021.12.20
[Java] 이클립스 기능 정리_기초  (0) 2021.12.16

* 1은 정수 / 1.1은 실수

정수는 소수점이 없는 수이며, 실수는 소수점이 있는 수이다.

 

정수

package org.opentutorials.javatutorials.variables;

public class IntergerDemo {

	public static void main(String[] args) {
		int a;
		a = 1;
		System.out.println(a+1); //result:2
		
		a = 2;
		System.out.println(a+1); //result:3 
	}
}

 

실수

 

package org.opentutorials.javatutorials.variables;

public class DoubleDemo {

	public static void main(String[] args) {
		double a = 1.1;
		System.out.println(a+1.1); // result: 2.2
		
		a = 2.1;
		System.out.println(a+1.1); // result: 3.2
	}

}

 

문자열

package org.opentutorials.javatutorials.variables;

public class StringDemo {

	public static void main(String[] args) {
//		String first;
//		first = "coding";	
//		String first = "coding";

		String a, b;
		a = "coding";
		b = "everybody";
		System.out.println(a+ " " +b); //result: coding everybody
	}
}

 

변수의 효용성

System.out.println(100 + 10);
System.out.println((100 + 10) / 10);
System.out.println(((100 + 10) / 10) - 10);
System.out.println((((100 + 10) / 10) - 10) * 10);

// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

int a = 100;

System.out.println(a + 10);
System.out.println((a + 10) / 10);
System.out.println(((a + 10) / 10) - 10);
System.out.println((((a + 10) / 10) - 10) * 10);

중복 & 반복되는 것을 제거함으로 코드의 가독성과 유지보수 용이성이 좋아진다.

추후 개발자로 소프트웨어 동작하는 방법을 바꿔야 될 경우 변수로 정의한 고정적인 부분을 건드리지 않고,

가변적으로 바뀔 수 있는 영역만 수정하면 되기 때문에 로직을 핸들링하는 것이 훨씬 수월해진다.

'Java > 생활코딩' 카테고리의 다른 글

[생활코딩] 주석과 세미콜론  (0) 2021.12.20
[생활코딩] 숫자와 문자  (0) 2021.12.20
[Java] 이클립스 기능 정리_기초  (0) 2021.12.16

 

숫자

 

자바에서는 따옴표가 없는 숫자는 숫자로 인식한다.

package org.opentutorials.javatutorials.numberstring;

public class Number {

	public static void main(String[] args) {
		System.out.println(1+2);          //result:3
		System.out.println(4+2);	  //result:6
		System.out.println(1.2+1.3);      //result:2.5
		System.out.println(2*5);	  //result:10	
		System.out.println(6/2);	  //result:3	
	}
}

 

문자열

문자열은 "" 쌍따옴표로 출력해야 오류가 안뜸

package org.opentutorials.javatutorials.numberstring;

public class CharString {

	public static void main(String[] args) {
		System.out.println('생');      
		System.out.println("생");
		//System.out.println('생활코딩'); //result: error
		System.out.println("생활코딩");
		System.out.println("생활코딩"+"입니다");
		System.out.println(1+1);
		System.out.println("1"+"1");
	}
}

문자 연산

 

이스케이프

package org.opentutorials.javatutorials.numberstring;

public class CharString {

	public static void main(String[] args) {

		System.out.println("egoing said\" Welcome programming world\"");
	}
}

\(역 슬래쉬)를 앞에 붙이면 문자로 인식한다.

'Java > 생활코딩' 카테고리의 다른 글

[생활코딩] 주석과 세미콜론  (0) 2021.12.20
[생활코딩] 변수  (0) 2021.12.20
[Java] 이클립스 기능 정리_기초  (0) 2021.12.16

6001. Hello 출력하기

print("Hello")

 

6002. Hello World 출력하기

print("Hello World")

 

6003. Hello World 줄을 바꿔 출력하기

print("Hello\nWorld")

줄 바꿈 \n

 

6004. 'Hello' 출력하기

print("\'Hello\'")

 

Tip. ' 출력은 역 슬러쉬 - ex) \' 

 

6005. "Hello World" 출력하기

print("\"Hello World\"")

 

6006. "!@#$%^&*()' 출력하기

print("\"!@#$%^&*()\'")

 

 

6007. "C:\Download\'hello'.py" 출력하기

print("\"C:\\Download\\'hello\'.py\"")

Tip. \ 안전하게 출력하려면 \\로 사용하는 것이 좋다.

 

6008. print("Hello\nWorld") 그대로 출력하기

print("print(\"Hello\\nWorld\")")
 

 

1. Code Up Python 기초 100제 풀기

http://codeup.kr/

2. 백준 알고리즘 그리디 / 탐색 유형 / 동적 프로그래밍 각각 50문제씩 풀기

https://www.acmicpc.net/

3. 프로그래머스 기출문제 풀기

https://programmers.co.kr/

 

* 백준 알고리즘 강의 기초 1,2와 중급 1까지는 들어봐도 괜찮을 듯 

===========================================================

[코딩테스트 공부법 유튜브 링크]

1. 동빈나 유튜브 코테 공부법

https://www.youtube.com/watch?v=ukkLCl9yBvE

2. 라매개발자 유튜브 코테 공부법

https://www.youtube.com/watch?v=H6z1_tnyhp0

 

[코딩테스트 공부법 관련 블로그]

https://inner-game.tistory.com/236
https://covenant.tistory.com/220
https://steady-coding.tistory.com/260
https://www.clien.net/service/board/lecture/16146627
https://thinline-it.tistory.com/8

[코딩테스트 공부법 관련 사이트]

https://solved.ac
leetcode.com

* sw expert academy(삼성) : https://swexpertacademy.com/main/main.do

이클립스에서 새로운 프로젝트를 생성하면 2개의 폴더와 2개의 파일이 생성이 된다.

bin, src, .classpath, .project 

이렇게 생성되는 파일에 대해 간단히 정리해보자.

 

bin - binary의 약자로 확장자는 .class

: 실행 파일로 이클립스에서 컴파일 된 파일은 bin 폴더에 저장이 됨 /

  컴퓨터가 이해할 수 있는 소스코드로부터 파생된 파일

 

src - source의 약자로 확장자는 .java

: 내가 작성한 코드

※ Code 작성 (.java) → Compile (.class) → 실행 

: 이클립스에서 소스코드 저장하면 .class 파일이 생성이 됨 → 이클립스 내부적으로 .java 파일을 이용해서 자동으로 컴파일을 해주고 있음 

 

.classpath / .project 생선한 이클립스 프로젝트의 여러 가지 정보들을 가지고 있는 파일들이지만 중요하지 않으니 Skip

: 간단하게 이클립스가 자기 자신을 위해 만든 파일이라고 생각하면 됨

'Java > 생활코딩' 카테고리의 다른 글

[생활코딩] 주석과 세미콜론  (0) 2021.12.20
[생활코딩] 변수  (0) 2021.12.20
[생활코딩] 숫자와 문자  (0) 2021.12.20

1. 생활코딩 - https://opentutorials.org/course/1223/4551

 

언어소개 - 생활코딩

Java의 역사 1995년 자바의 아버지라고 불리는 제임스 고슬링과 그의 동료들에 의해서 시작된 프로젝트다. Java는 원래 가전제품을 제어하기 위한 언어로 고안되었지만 웹의 등장으로 엄청난 성공

opentutorials.org

2. 난 정말 자바를 공부한 적이 없어요 - http://www.orentec.co.kr/teachlist/JAVA_BASIC_1/teach_sub1.php

 

====== 오렌지 미디어 ======

             목록 서버1   서버2 강의시간 강의교안  Chapter 01. Let's Start JAVA!        01-1. 자바의 세계로 오신 여러분을 환영합니다. 32:59        01-2. 자바 프로그램의 이해와 실행의 원리

www.orentec.co.kr

3. 혼자 공부하는 자바 - https://www.youtube.com/playlist?list=PLVsNizTWUw7HZTPU3GpS7nmshXjKKvlbk 

 

혼자 공부하는 자바

[혼자 공부하는 자바]는 [이것이 자바다] 콘텐츠를 기반으로 기획된 도서입니다. 동영상 강의 50만 조회수를 기록하는 동안 독자님들로 부터 받은 피드백을 반영하여 콘텐츠를 강화하고, 학습 방

www.youtube.com

4.  점프 투 자바 - https://wikidocs.net/book/31

 

점프 투 자바

**초보 프로그래머를 위한 자바 입문서** 이 책은 문법위주의 지식보다는 이해중심의 지식을 전달하는 것을 주 목적으로 한다. 예를들어 자바에서 잘 파악하기 힘든 개념 ...

wikidocs.net

 

# yum info openssl

 

# openssl version

https://www.openssl.org/source/

 

/source/index.html

The master sources are maintained in our git repository, which is accessible over the network and cloned on GitHub, at https://github.com/openssl/openssl. Bugs and pull patches (issues and pull requests) should be filed on the GitHub repo. Please familiari

www.openssl.org

Open SSL 1.1.1.k 버전 tar 압축 파일 다운로드하여 ftp 프로그램 이용하여 OS 보안 패치할 서버 /tmp 경로에 복사

 

# cd /tmp

# mkdir os_patche

# mv openssl-1.1.1k.tar.gz /tmp/os_patche

# cd /tmp/os_patche

# tar -xvf openssl-1.1.1k.tar.gz

# cd /openssl-1.1.1k

# ls

# ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared 

* 명령어 실행 시 You need Perl 5. 메시지 발생 시 아래 명령어 실행

# yum install perl -y

# ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared 

# make && make install

# mv /usr/bin/openssl /usr/bin/openssl-1.0.2k
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# echo '/usr/local/ssl/lib' > /etc/ld.so.conf.d/openssl-1.1.1k.conf
# ldconfig -v

# echo 'OPENSSL_PATH= "/usr/local/ssl/bin"' > /etc/profile.d/openssl.sh
# echo 'export OPENSSL_PATH' >> /etc/profile.d/openssl.sh
# echo 'PATH=$PATH:$OPENSSL_PATH' >> /etc/profile.d/openssl.sh
# echo 'export PATH' >> /etc/profile.d/openssl.sh
# chmod +x /etc/profile.d/openssl.sh
# source /etc/profile.d/openssl.sh

# openssl version

# echo $PATH

# which openssl

# openssl version -a

 

참고 링크

https://m.blog.naver.com/aika1/221936432701

https://sangchul.kr/692

'Cent OS 취약점 패치' 카테고리의 다른 글

[Cent OS] bash 5.0 OS 취약점 보안 패치  (0) 2021.06.02

+ Recent posts