본문 바로가기

분류 전체보기69

프로그래머스 모음 제거(문자열의 끝에는 '\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.