본문 바로가기
728x90
반응형

전체 글510

[C언어 공부하기] 16. 포인터 함수 - 우당탕탕 개발자 되기 프로젝트 포인터 함수란 포인터 변수를 매개변수로 갖는 함수를 말합니다. 포인터 함수의 매개변수가 포인터 변수이기 때문에 해당 인수를 대입할 때도 포인터 변수 형식으로 대입하고자 하는 값의 주소값을 입력해줘야 합니다. 포인터 함수에서 사용되는 매개변수와 인수 또한 일반 함수와 동일하게 그 데이터 타입이 일치해야 하고 개수와 순서도 일치해야 합니다. 배열을 포인터로 활용할 수 있기 때문에 포인터 함수의 매개변수에 배열을 사용할 수 있습니다. 포인터 함수의 매개변수의 값을 배열로 받아 배열의 값을 바꾼다면 주소를 활용해 값을 변경하는 것이므로 함수 안에서 변경한 배열의 값이 그대로 변경되어 저장됩니다. 이렇게 전달된 포인터 함수의 매개변수는 일반 함수에서 전달된 매개변수와 다릅니다. 이는 각 함수를 호출할 때, 인수가.. 2023. 7. 1.
[프로그래머스] 약수의 개수와 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 매개변수 left와 right 사이의 수들을 모두 고려해야 하므로 반복문을 사용한다. for i in range(left, right + 1) 약수의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0 약수를 구하려면 1부터 자기 자신까지 나눠봐야 하므로 반복문을 사용한다. for j in range(1, i + 1) left와 right 사이의 수가 1부터 자기 자신까지 수 중 나눠 떨어지는 수가 있으면 if (i % j == 0) 약수이므로 약수의 개.. 2023. 7. 1.
[프로그래머스] 내적 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 매개변수 a와 b 배열의 길이는 동일하다. 따라서 한 배열의 길이를 가지고 두 배열의 모든 원소를 추출해야 한다. 반복문을 활용하여 각 배열의 원소를 추출한다. for i in range(len(a)) 내적은 각 배열에서 같은 위치에 있는 원소를 곱하여 더해주면 된다. answer += a[i] * b[i] 3. 소스코드 def solution(a, b): answer = 0 for i in range(len(a)): answer += a[i] * b[i] return .. 2023. 7. 1.
[C언어 공부하기] 15. 배열과 포인터 - 우당탕탕 개발자 되기 프로젝트 포인터와 유사한 것이 바로 배열입니다. 배열은 배열 그 자체로 출력하는 방법도 있지만 포인터를 사용하여 출력하는 방법도 있습니다. 두 출력 방식의 결과는 동일합니다. 배열을 포인터를 사용하여 출력하는 방법은 역참조 연산자를 활용하여 배열 연산의 실제 값을 출력하는 방식으로 나타내었습니다. 배열 이름을 그냥 사용하면 배열의 시작 주소를 의미한다는 점을 활용하였습니다. 배열과 포인터를 사용하다 혼돈이 올 수 있으므로 자유롭게 사용하려면 개념과 구조를 완벽하게 이해하고 있어야 합니다. 그래야 헷갈림 없이 자유자재로 사용할 수 있을 것입니다. 배열은 포인터 상수이기 때문에 포인터 연산에는 증가 +와 감소 -만 존재합니다. 포인터 ( +/-) 정수 연산은 포인터가 가리키는 주소에 마치 배열이 있는 것처럼 메모리에.. 2023. 7. 1.
[프로그래머스] 수박수박수박수박수박수? - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 결과에서 공통적으로 들어가는 부분은 매개변수로 입력받은 값을 2로 나눈 몫만큼 "수박"이 들어간다는 점이다. 이후 입력받은 값이 홀수이면 마지막에 "수"를 추가해 주면 된다. 결과에 입력받은 값을 2로 나눈 몫만큼 "수박"을 추가한다. answer += "수박" * (n // 2) 만약 입력받은 수가 홀수이면 if (n % 2 != 0) 결과에 "수"를 추가해 준다. answer += "수" 3. 소스코드 def solution(n): answer = '' answer += "수.. 2023. 7. 1.
[프로그래머스] 가운데 글자 가져오기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 매개변수로 입력받은 문자열의 길이가 짝수이면 if (len(s) % 2 == 0) 가운데 두 문자를 출력해야 하므로 우선 가운데 두 문자 중 앞 문자를 추가한다. answer += a[len(s) // 2 - 1] 이후 문자열이 홀수일 때와 짝수일 때 공통으로 들어가는 문자인 가운데 문자를 추가한다. answer += s[len(s) // 2] 3. 소스코드 def solution(s): answer = '' if (len(s) % 2 == 0): answer += s[len(s.. 2023. 7. 1.
[C언어 공부하기] 14. 포인터 - 우당탕탕 개발자 되기 프로젝트 포인터란 메모리의 주소를 가지고 있는 변수를 말합니다. 포인터를 사용하여 메모리에 접근할 수 있고 주소를 사용하여 값을 지정할 수도, 값을 읽을 수도 있습니다. 포인터를 선언하는 방법은 데이터 타입* 변수명 형태로 선언하거나 데이터 타입 *변수명 형태로 선언할 수 있습니다. 포인터 선언 시 사용하는 *를 포인터 수식어(곱셈 아님)라고 합니다. 포인터는 메모리의 주소를 가지고 있는 변수이기 때문에 사용하기 전에 꼭 초기화를 해줘야 합니다. 포인터 변수를 초기화하는 방법은 포인터를 선언해 주고 주소를 저장할 변수의 주소를 주소 참조 연산자 &를 사용해 지정해 주면 됩니다. 지정할 변수가 당장 없다면 NULL을 적어주어 주는 방법도 있습니다. NULL은 주소 0을 의미합니다. 선언된 포인터에 원하는 변수의 주.. 2023. 7. 1.
[C언어 공부하기] 13. 메모리와 주소 - 우당탕탕 개발자 되기 프로젝트 포인터를 배우기 전에 메모리와 주소에 대해 알아보겠습니다. 대부분의 변수는 모두 메모리에 저장됩니다. 메모리에 저장된 변수는 해당 주소를 활용할 수 있습니다. 변수의 주소를 가져오는 연산자는 주소 참조 연산자 &입니다. 주소 참조 연산자 &를 사용하여 출력한 결과를 보면 %p 형식 지정자를 사용할 경우 변수의 주소가 16진수로 출력되고, %d 형식 지정자를 사용할 경우 10진수로 출력되는 것을 볼 수 있습니다. 배열의 주소는 배열의 첫 번째 원소의 주소를 의미합니다. 배열은 각 원소가 각각의 변수로 볼 수 있으므로 각 원소는 개별적인 주소를 지닙니다. 각 원소의 주소는 배열의 시작 주소에서 배열의 데이터 타입 크기만큼 증가한 위치입니다. 바이트(byte) 단위로 나뉘는 메모리는 연속된 바이트의 모임으로,.. 2023. 6. 30.
[파이썬(Python) 공부하기] 5. 입력하기 - 우당탕탕 개발자 되기 프로젝트 파이썬에서 입력을 받을 때는 input() 함수를 사용합니다. input(문자열) 형식으로 사용하면 문자열을 화면을 출력하고 입력이 들어올 때까지 기다리고 있다가 입력이 들어오면 해당 값을 반환하게 됩니다. 특정 변수에 입력을 받고 싶다면 변수명 = input(문자열) 형식으로 작성하여 입력한 값이 해당 변수에 저장되도록 만들면 됩니다. input() 함수를 사용하여 입력받은 모든 값은 문자열의 타입으로 데이터가 저장됩니다. 따라서 숫자를 입력하더라도 해당 데이터 타입이 아닌 문자열의 타입으로 저장되는 것입니다. 따라서 입력하는 값을 원하는 데이터 타입으로 바꿔주는 작업이 필요합니다. 이 작업은 int(), float(), double() 등의 함수를 사용하여 데이터를 묶어주던 입력을 받는 함수 자체를 .. 2023. 6. 30.
[C언어 공부하기] 12. 배열 - 우당탕탕 개발자 되기 프로젝트 배열은 여러 개의 변수를 한 번에 저장할 수 있는 자료형입니다. 배열의 각 공간에는 번호가 붙여져 여러 개의 변수를 사용하는 것과 유사하지만 변수보다 더욱 유용합니다. 배열을 선언하는 방법은 변수를 선언하는 방법과 비슷합니다. 데이터 타입 배열명[배열의 크기] 의 구조로 배열을 선언할 수 있습니다. 이렇게 선언된 배열을 초기화하지 않으면 배열의 각 원소에는 쓰레기 값이 들어가게 되므로 초기화를 해줘야 합니다. 배열을 초기화해 주는 방법은 { } 안에 배열 원소로 저장할 값을 콤마(,)로 구분하여 나열해 주면 됩니다. 여기서 배열의 원소로 들어갈 수 있는 값은 처음 배열을 선언할 때 지정해 준 배열의 데이터 타입과 일치해야 합니다. 배열을 초기화해 줄 때 지정해 준 배열의 크기보다 원소의 개수가 적으면 초.. 2023. 6. 30.
728x90
반응형