본문 바로가기

분류 전체보기23

===와 !==, 참조 비교 연산자 - Swift 노션에서 보기 LeetCode의 Linked List Cycle 문제를 풀다가 ===를 ~=와 헷갈리는 바람에 gae고생을 하였다. 너무 크게 얻어 맞은 느낌이라 정리를 안 해도 까먹진 않을 것 같지만... 그래도 그냥 넘어가면 아쉬우니 정리를 해보려고 한다. 비교 연산자 (Comparison Operator) ===와 ~= 모두 비교 연산자에 속한다. === 의 반대 격이라고 할 수 있는 !== 도 당연히 비교 연산자다. 연산자 설명 == A == B : A와 B의 value가 같은가 != A != B : A와 B의 value가 다른가 > A > B : A의 value가 B의 value보다 큰가 = A >= B : A의 value가 B의 value보다 크거나 같은가 2021. 1. 13.
[백준] 1052: 물병 - Swift 풀이 노션에서 보기문제지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번에 K개의 물병을 옮길 수 있다. 하지만, 지민이는 물을 낭비하기는 싫고, 이동을 한 번보다 많이 하기는 싫다. 따라서, 지민이는 물병의 물을 적절히 재분배해서, K개를 넘지 않는 비어있지 않은 물병을 만들려고 한다. 물은 다음과 같이 재분배 한다.먼저 같은 양의 물이 들어있는 물병 두 개를 고른다. 그 다음에 한 개의 물병에 다른 한 쪽에 있는 물을 모두 붓는다. 이 방법을 필요한 만큼 계속 한다.이런 제약 때문에, N개로 K개를 넘지않는 비어있지 않은 물병을 만드는 것이 불가능할 수도 있다. 다.. 2021. 1. 10.
[백준] 10757: 큰 수 A+B - Swift 풀이 노션에서 읽기 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력: 첫째 줄에 A와 B가 주어진다. (0 < A,B < 10^10000) 출력: 첫째 줄에 A+B를 출력한다. 풀이 10의 10000승이면 Int64의 최댓값(9,223,372,036,854,775,807)을 한참 넘어가는 범위이다. 그래서 처음에는 18자리씩 끊어서 배열에 넣고 차례로 더하는 방식으로 풀어 보았다. 그랬더니 두 수의 자릿수가 다를 때의 처리가 너무너무 복잡해서 도저히 해결되지 않았다. 그래서 1자리 씩 끊는 것으로 방법을 바꿨다. let arr = readLine()!.split(separator: " ") let a = splitNum(String(arr[0])), b = splitNu.. 2021. 1. 10.
유닉스와 리눅스 노션에서 보기 🤷‍♀️ 이 학습이 필요한 이유 서버는 리눅스로 되어있다. 백엔드 개발자가 아니더라도 서버에 대한 이해는 필요하다. 터미널을 통해 서버에 접속하고 원하는 작업을 할 수 있도록 친숙해질 필요가 있다. ✏️ 리눅스와 유닉스 유닉스는 C언어를 기반으로 만들어진 OS이다. 오늘날 사용되고 있는 대부분 OS의 시초라고 봐도 무방하다. 켄 톰슨 & 데니스 리치 제작 리눅스도 그 중 하나다. 정확히 말하면 유닉스를 기반으로 한 교육용 OS인 미닉스가 변형되어 태어났다. 리누스 토르발즈 제작 미닉스를 만든 앤드루 테넌바움 교수의 학생이었던 리누스는 교수에게 미닉스를 개조해도 되는 지 물어보지만 거절 당한다. 매우 화가난 리누스는 홧김에 미닉스를 수정하여 자기 컴퓨터에서도 돌아가는 OS로 만들어서 무료 오.. 2021. 1. 8.