전체 글190 프로그래머스 문자열을 정수로 바꾸기('0'의 아스키 코드는 48) 0단계 문제들이 다소 반복적으로 느껴져서 1단계로 넘어왔다1단계에서 가장 쉬운(정답률이 가장 높고, 사람들이 많이 푼) 문제였지만 배운 게 많아 글을 작성하게 되었다. 문제만 보면 단순해 보이고 어떤 함수를 이용해서 한 방에 풀 수 있을 것 같지만 .. 처음 작성했던 코드:1. 아스키코드에서 문자1과 숫자1이 48만큼 차이나는 걸 보고 작성하였다.2. 변수 j는 자릿수 표현을 위해 pow(10, len - 1)을 대입하였다.3. 지금 보니 좀 바보같지만 -1을 곱하면 음수가 되는걸 answer =- answer로 처리했다 개선한 코드:1. 문자에서 '0'을 빼면 숫자가 된다고 한다. 왜냐하면 '0' 의 아스키코드 값은 48이기 때문이다.2. 변수 j를 생성해 자릿수를 표현한 기존과 다르게 이전에 계.. 2024. 10. 23. 프로그래머스 모음 제거(문자열의 끝에는 '\0'을 넣자) 문제 내가 생각한 문제풀이법:1. 반복문을 통해 my_string의 값을 0부터 strlen(my_string)까지 훑으며 모음이 나오면 continue제어문으로 실행 흐름을 변경시킨다.2. printf로 결과를 출력한다 처음에 작성한 코드 문제점:1. malloc으로 할당할 때 int가 아니라 char로 길이에 맞는 메모리를 할당해야 했다.2. answer에 값을 대입해야 하는데 printf로 값을 출력하려 했다.3. 문자열의 끝에 들어갈 '\0'을 고려하지 않았다. 동적 할당을 할 때에도 +1을 해주어야 한다. 개선한 코드:1. 앞서 말한 문제점을 전부 고쳤다.2. 변수 j를 선언해 마지막에 '\0'을 삽입해 문자열의 끝을 맺었다. 동적 할당을 배열 문제에서 두 번 밖에 안 써봐서 할당 길이를 상황에.. 2024. 10. 22. 프로그래머스 중앙값 구하기(버블 정렬) 바깥쪽 반복문 i:배열의 전체 패스를 관리한다. 한 패스에서 배열에서 가장 큰 값을 끝으로 보내고, 그 다음 패스에선 다음으로 큰 값을 뒤로 보내고 나머지 부분을 정렬한다.array_len - 1번 반복하는 이유는 마지막 남은 요소는 정렬이 필요 없기 때문이다. 안쪽 반복문 j:배열 내의 인접한 요소를 반복적으로 비교하여 인접한 두 요소를 교환할지 여부를 결정한다.array_len - i - 1까지 반복하는 이유는 이미 정렬된 마지막 부분은 건너뛰어도 되기때문이다. i가 커질수록 마지막 부분은 이미 정렬된 상태가 되므로 굳이 비교하지 않는다. 인접한 두 요소 비교 (array[j] > array[j + 1]):배열의 array[j]와 array[j + 1] 두 요소를 비교하여, 앞쪽 값이 더 크다면 교환.. 2024. 10. 22. strlen, strcpy, strcat 프로그래머스 0레벨 '접두사인지 확인하기' 문제이다. 이 문제를 풀 때 내가 생각한 조건들은,1. is_prefix의 길이가 my_string 보다 길다면 접두사가 될 수 없다.2. is_prefix[i] 와 my_string[i] 가 같지 않다면 접두사가 될 수 없다.이다.따라서 코드를,#include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.int solution(const char* my_string, const char* is_prefix) { int answer = 1; int i = 0; int l = 0; for(; is_prefix[i]; i++){ if(is_pref.. 2024. 10. 22. Printf 출력 키워드와 형식 키워드%d%f%c%s출력 형식정수(10진수)실수문자문자열 data변수의 65라는 값을 %c로 출력하라고 지시하면 65를 아스키 값으로 간주하여 문자 A를 화면에 출력함.%d로 출력하라고 지시하면 65를 10진 정수로 간주하여 숫자 65를 화면에 출력함. 실수를 표현하는 키워드인 %f로 float형 변수 value를 출력하면 소수점 6자리까지 값을 출력해줌.하지만 정수를 표현하는 키워드인 %d를 입력하면 엉뚱한 숫자가 나옴.(오류를 표현하는 숫자) 32비트 정수형에서의 음수 최댓값인 -1과 32비트 정수형에서 최댓값인 4294... 는32개의 비트가 모두 1인 값이므로 부호를 고려하지 않는 %u 키워드를 통해 출력하면 같은 값이 출력된다. %d와 %u는 변수 크기를 4바이트 값으로 변환해서 출력한다.. 2024. 10. 21. C언어 예전부터 C에 관심이 있었는데, 한번 공부해 두면 다른 것들을 배울 때 훨씬 유용할 것 같아서 공부를 시작하였다.사실 실사용 할 일은 거의 없을 것 같지만, 그렇다고 해서 후회하진 않을 것 같다.공부한 지 이틀 되었는데 메모리 관리, 비트 단위 연산, 아스키코드 등 다른 언어를 배울 때는 접해보지 못한(소프트웨어스러운?) 것들이 많아 새롭다.특히 문자열 출력 함수인 printf를 사용 할 때 변수 값을 어떤 식으로 출력할 것인지 %키워드를 통해 명시하는 것이 제일 적응하기 힘들다.목표는 doit c언어 입문 책 완독, C로 프로그래머스 1단계 문제를 풀 수 있을 정도로 공부하는 것이다.C언어 공부를 통해 내 굳은 머리를 알고리즘 설계를 잘 할 수 있게끔 풀고 싶다.지금은 0단계를 천천히 풀어나가고 있는데.. 2024. 10. 21. TIL - INNER JOIN, OUTER JOIN, 걷기반 42번 1. INNER JOIN (=JOIN)두 테이블에 모두 지정한 열의 데이터가 있어야 한다.(교집합)예시 : 상품A와 상품B를 모두 구매 한 고객을 찾기 2. OUTER JOIN (RIGHT JOIN, LEFT JOIN, FULL OUTER JOIN)한 개의 테이블에만 데이터가 있어도 결과가 나온다.RIGHT, LEFT JOIN 예시 : 상품A를 구매 한 사람 중 상품B를 구매한 사람과 그렇지 않은 사람을 구별하기FULL OUTER JOIN 예시 : 상품A를 구매 한 사람의 모든 정보를 불러오기 하고 싶을 때 INNER JOIN은 테이블 A와 B의 순서가 중요하지 않다.LEFT, RIGHT JOIN은 순서가 중요하다. SELECT문에 가장 많은 열을 가져와야 하는 테이블을 우선적으로 명시해야한다그리고 LE.. 2024. 10. 17. SQL 걷기반 2일차(8~마지막) 1번SELECT name FROM doctors WHERE major = '성형외과';2번SELECT major, COUNT(*) FROM doctors GROUP BY major;3번SELECT COUNT(*) FROM doctors WHERE DATEDIFF(y, CURDATE(), hire_date) >= 5;4번SELECT name, DATEDIFF(d, CURDATE(), hire_date) FROM doctors; 1번SELECT gender, COUNT(*) FROM patients GROUP BY gender;2번SELECT COUNT(*) FROM patients WHERE DATEDIFF(y, CURDATE(), birth_date) >= 40;3번SELECT * FROM patien.. 2024. 10. 16. SQL 걷기반 1일차(1~7) 1번SELECT name, age FROM sparta_employees;2번SELECT DISTINCT position FROM sparta_employees;3번SELECT * FROM sparta_employees WHERE salary BETWEEN 40000 AND 60000;4번SELECT * FROM sparta_employees WHERE hire_date 1번SELECT product_name, price FROM products;2번SELECT * FROM products WHERE product_name LIKE '%프로%';3번SELECT * FROM products WHERE product_name LIKE '갤%';4번SELECT SUM(price) FROM products;.. 2024. 10. 15. 스타터 노트, TIL 1일차 내가 내일배움캠프에 참여한 계기는 무엇인가요? - 개발공부를 독학으로 하다가 최근까지 방황하고 있었는데 우연히 구글링을 하다가 스파르타 코딩클럽을 발견하게 되었습니다 내가 이해한 개발자는 어떤 역할을 하는 사람인가요? - 사용자의 요구와 기업의 요구를 실현시키는 역할을 하는 사람입니다 프로그래밍을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지를 작성해주시고, 아니라면 프로그래밍에 대해 찾아본 것을 작성해주세요. - javascript, nodejs, react, mongoDB 등 풀스택 개발 경험이 있습니다. 개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개인 역량이 있나요 ? - 어려운 문제에 맞닥뜨리면 끝을 보는 제 성격이 개발자와 .. 2024. 10. 14. 이전 1 ··· 16 17 18 19 다음