개발 29

[프로그래머스] 전화번호 목록(C++)

[Level2, 해시] 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습..

개발/알고리즘 2023.03.28

[Git] git reset vs revert

reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다. revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다. reset git reset --hard (돌아갈 커밋 해시) 돌아갈 커밋 해시 위치로 돌아간 후, 그 커밋 이후의 내용과 커밋들은 전부 삭제한다. 커밋 해시는 `git log` 를 통해 확인 가능 hard : 해당 커밋 이후의 내용과 커밋들을 모두 삭제하고, 변경사항도 모두 삭제. mixed: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 staging 해놓음. soft: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 working directory에 남아있음. 🚨reset 으로 날아간 파일 살리기 git reflog reflog 는 프로젝트가 위치한 커밋이 바뀔 ..

개발 2023.03.28

[프로그래머스] K번째수 (Javascript)

[Level1, 정렬] 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상..

개발/알고리즘 2023.01.31

[DB]MariaDB 설치

MariaDB 설치 오류가 계속 나서 mysql uninstall, mariadb uninstall, 관련 파일 삭제 등 여러가지 해보고 다시 깔아도 같은 (여러가지...) 오류가 발생했다. 그러다가 mysql과 mariadb 모두 삭제하고 mysql --verbose --help | grep my.cnf 명령어로 my.cnf 관련 파일까지 모두 삭제한 후, mariadb를 다시 설치했더니 해결됐다. sudo mariadb-secure-installation mariadb 의 비밀번호도 설정해준다. mariadb -uroot -p 이제 다음 명령어로 mariadb에 접근할 수 있다. 참고 링크 https://velog.io/@dayebyday/MariaDB-Mac-MariaDB-%EC%84%A4%EC%B..

개발/프로젝트 2022.09.30

[Docker] 도커와 가상머신(VM)

Docker 도커는 리눅스의 응용프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈소스 프로젝트이다. (위키) 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템도구, 시스템라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행중인 환경에 관계 없이 언제나 동일하게 실행될것을 보증한다. (도커 웹페이지 인용) 한 소프트웨어를 만들었을 때, 각 서버나 컴퓨터마다 환경이 다르다면 소프트웨어가 제대로 동작하지 않을 수 있다. 따라서 OS위에 컨테이너를 만들고, 그 안에서 소프트웨어 동작 환경을 설정해준다면 그 컨테이너를 이용하여 어떤 환경에서든 소프트웨어가 동작할 수 있게 만들어준다...

개발/Docker 2022.06.23

2021.01.31

CPP00 / ex01 std::cin c++ 에서 표준입력을 받을때 사용하는 함수. 에 정의되어 있다. 하지만 std::cin 으로 입력받을 때는 space 까지만 입력되므로, 공백을 포함한 string 형식의 입력을 받을 때는 getline() 함수를 사용해야 한다. std::getline() getline() 함수는 std::cin 의 멤버함수인 std::cin.getline() 함수와 에 정의되어있는 std::getline() 함수가 있다. 오늘 사용한 함수는 std::getline() 함수였는데, 아래와 같이 사용된다. std::getline(std::cin, firstName[i]); 이처럼 작성하면 firstName[i] 에 표준입력으로 개행까지 받을 수 있다. 원래는 매개변수가 3개로, 마..

개발/TIL 2022.02.02

[C++]using namespace std

학교에서 C++로 코딩을 처음 배울때, #include using namespace std; 이 두 문장은 뜻도 모르고 외우라던 교수님의 말씀에, 그뒤로 C++ 코드를 작성할 땐 항상 이렇게 썼었다. 그런데 이제 제대로 C++을 공부하려다보니 다들 using namespace 를 안쓰고 std:: 으로 쓰는걸 보고 이제서야 namespace 가 뭔지 공부하게 되었다..... namespace (이름공간) using namespace std; 를 쓰지 않고 표준 함수를 사용하려면 #include int main() { std::cout

개발/C++ 2022.01.10