TIL (22.03.21)
Ox == 16진수 int arr= {{1,2,3},{4,5,6}} 에서 arr가 int이기 때문에, 주소는 4바이트 씩 증가하게됨. 2차원 배열의 저장 arr = {{1,2,3},{4,5,6}} 주소는 메모리상에서 1차원적(linear)으로 저장된다. arr[0][0] 1 // arr[0][1] / 0 2 / 1 0 / 1 1 / 1 2 C언어에서 배열은 행 우선으로 저장하게됨. 다차원 배열을 메모리에 저장하는 순서는 마지막 index가 먼저 변하는 순서로 쉽게 생각해서 가로로 세는 느낌 열 우선저장이란 ? 다차원 배열을 메모리에 저장하는 순서가 첫번째 index가 먼저 변하는 순서로 쉽게 생각해서 세로로 세는 느낌 제어문 block : 여러 개의 문장을 {}로 묶은 것.1개의 statement 면 "..
2022.03.21
TIL (22.03.20)
nested loop에서 break문의 outer loop을 종료하려면? 무슨말인지 알 사람들은 알겠지만, 모르는 사람을 위해 설명해주겠다. 이중 for 문을 만들 때, 또는 다중으로 만들 때, outer loop { inner loop{} } 이런식으로 구성이 될텐데, 그럴 때 어떻게 안쪽 loop에서 break를 이용해서 그만두냐는 말이다. 안쪽에서 break를 하면 되지 않을까요? 하는데, 그렇게 하면 inner loop만 break하고, outer loop는 계속 실행을 하니까 맘대로 되지 않을거다. int i,j; bool terminate = false; for (i=0; i
2022.03.21
TIL (22.03.19)
# 1. 이렇게 했을 때 틀린 점 : set 는 순서를 가지지 않아서 lst_set[0]은 존재 X lst = input().split() lst.sort(reverse= True) lst_set = set(lst) if len(lst_set) == 1: print(10000+int(lst_set[0])*1000) elif len(lst_set) ==2: print(1000+int(lst_set[0])*100) else: print(int(lst_set[0])*100) # 2. 이렇게 했을 때 틀렸던 점 : lst == 2 일 떄 같은 애가 출력되는게 아니라 큰 애가 출력된거! lst = input().split() lst_set = set(lst) lst = list(lst_set) lst.sort(r..
2022.03.20
TIL (22.03.18)
if 문 if else문 if - else 이용해서 효율적으로 처리 가능 다중 if 문 if 여려개 써서 여러가지 조건을 판별 while 문 조건이 참일 경우 계속 실행 복습문제 (구구단) package sec06; import java.util.Scanner; public class 복습문제 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("출력하고자 하는 구구단 : "); int row = in.nextInt(); { int column = 1; while (column < 10) { System.out.printf("%d * %d = %2d\n", row, column, ro..
2022.03.18
no image
TIL (22.03.17)
오늘 하는 내용은 HTML이다. HTML이란? "Hypertext Markup Language" 의 준말로 우리가 보는 웹사이트가 어떻게 이루어져있는지 설명하는 "약속" 프로그래밍 언어라고 하면 혼남 각설하고 시작해보자. 일단 제일 처음부터 시작하겠다. ! 느낌표 하고 처음 나오는 애 선택하면 알아서 라고 만들어준다 뼈대를 미리 만들어주는 것. 아 맞다 설명이 늦었네, 일단 VSCode에서 확장 탭에서 live server를 설치하기 바란다. 설치를 하고나면, 작성한 HTML에 맞는 웹페이지가 나온다 (내가 만든 애가 어떻게 생긴놈인지 알 수 있음) 또 , 저장하면 즉시 반영되니 아주 편리하다고 할 수 있지. HTML 태그 TITLE 여기 바꾸면 탭에 있는 제목이 바뀐다 제목 문단이다. 마크다운에서 # ..
2022.03.17
TIL (22.03.16)
문제 (백준 2884) 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한..
2022.03.17
TIL (22.03.16)
부호 연산자 숫자를 나타내는 기초 타입에 사용하며, 피연산자의 부호를 그대로 유지하거나 반전 증감 연산자 증감연산자는 변수의 위치에 따라 의미가 다르다 ++ : 증가 ++x 연산 전 x 값 증가 (전위 증가) \x++ 연산 후 x 값 증가 (후위 증가) -- : 감소 --x 연산 전 x 값 감소 (전위 감소) \x-- 연산 후 x 값 감소 (후위 감소) 조건 연산자 조건식이 true면 결과값은 연산식1의 값이 되고, false면 연산식2의 값이 된다 조건식 ? 연산식1 : 연산식2 package sec06; import java.util.Scanner; public class Practice2_8 { public static void main(String[] args) { Scanner in = new ..
2022.03.16
TIL 4 (22.03.16)
반복문을 활용해보자. #include using namespace std; int main(){ char v1, v2, v3, v10 v1 = 'a'; v2 = 'a'; v3 = 'a'; v10 = 'a' cout
2022.03.16
.git directory의 중요성(?) (22.03.16)
IDLE에디터로 편집하면 git 연결하여 github로 편하게 버전관리를 할 수 있다. 그런데 atom 에디터로 편집하는데, 폴더명이 c++ 안에 c2020, C2022 이렇게 두개가 있어서 이 폴더를 깃허브에 폴더별로 놓고 정리하고 싶은 욕망이 있었다. 그러면 git init은 어디서 해야할까? (git init 하면 .git 폴더가 그 directory 에 생긴다.) 정답은 c++ 폴더에서 git init을 해야한다. 어떤 이유였는지 .git 폴더가 C2022로 들어가게 된다면, C2022 안의 내용이 github로 로드가 된다. 기존에 c++/C2022/a.cpp 이 있다면 ( .git 이 c++폴더 내에 있다면) github저장소에는 C2022 디렉토리가 생기고, 그 안에 a.cpp파일이 들어간다..
2022.03.16