프로그래밍은 하면 할수록 늘어나나요?
프로그래밍 언어를 공부하고 있는데요. 문제 풀다가 문법을 몰라서가 아니라 수학이 딸려서? 어떤 방식으로 접근해야 될지 모를 때가 많았었어요...
프로그래밍도 하면서 수학공부 따로 하는 것이 나을까요? 아니면 그냥 문제를 많이 푸는 것이 더 나을까요?
아직 초급자여서 어떤 방식이 더 좋을지 잘 모르겠네요...
안녕하세요
프로그램에서 수학이 필요 한 경우도 있습니다.
프로그램도 수학과 비슷하긴 합니다.
곰셈을 알면 덧샘 을 덜해도 되는것과 비슷하죠
수학적인건 많은 경험이 생기면서 터득 되는 경우도 있습니다.
저는 프로그램 많이 짜보고 이런 자료를 잘 정리 해두는게 더 좋을 것 같습니다.
나중에는 코딩도 예전에 사용했던 코딩을 가져다 쓰는경우가 대부분 입니다.
문법상 기초가 중요하고요 주석처리 잘 하시면서 프로그램 짜는 연습 하신다면 나중에 실력 향상에 큰 도움이 되실것 같아요
어떤 언어를 공부 하시는지 모르겠지만, 단순한 문제풀이보다는
실습을 병행하는것이 실력이 더빨리 늘거같네요.
이론에서는 문법을 익히고 실습으로 응용하면 어떤 상황에 써야하는지 더쉽게 이해가능하실 겁니다.
실제로 프로그래머들은 1~10까지 다 직접 작성하는건 드물고 인터넷에 만들어져있는 기본 소스를 바탕으로
재가공하여 사용하는게 더많습니다. 그렇게 내가 재가공하여 만들어놓은 소스들은 나중에 또 복사해서 다른 프로젝트에 사용하게되죠
수학적인 부분도 필요하지만 혹시 and / or 같은 논리회로적인것이 이해가 안되시는거라면 디지털 논리회로 기본을 공부하시는 것도 도움이 되실거 같네요
프로그래밍을 하면 할수록 늘어납니다. 수학공부보다는 프로그래밍 문제를 꾸준히 푸시는 것을 추천드립니다. 특히 문제를 다 풀고나서 소스코드를 한 줄 한 줄 씩 읽으면서 소스코드 분석을 하는 것을 습관화시키는 것이 도움이 됩니다.
그리고 소스코드를 잘 작성한 사람의 소스코드를 분석하는 것도 도움이 됩니다. IT서적의 소스코드도 큰 도움이 되며, 예를 들어 자바의 정석 책 내에 있는 예제를 추천드립니다.
하면 할수록 늘긴합니다.
분명 많이 써야 몸에 익는 부분이 있고, 궁리해서 해결하는 부분이 있습니다.
문제를 풀고 심심할 때 디자인 패턴도 공부하시는걸 추천드립니다.
문제라면 알고리즘 풀기 문제겠죠?
단계가 어느정도 인줄 모르겠습니다만!
문제를 풀려는데 무슨 뜻인지 몰라서 못푸는 분도 많이 계시더군요.
이런경우 수학을 하시기 보다는 먼저 단계별로 진행하시는걸 추천드립니다.
커뮤니티도 어느정도 갖추어져 있기 때문에, 해결법이나 문제에 대한 구글링으로도 어떤 수학적 용어를 쓰고 적용했는지 알 수 있기 때문입니다.어느 문제가 나올지 모르는 상황에서 수학을 공부하는건 너무 돌아가는것 같습니다.
1. 책으로 공부
https://www.hanbit.co.kr/store/books/look.php?p_code=B2769218958
2. 강의 듣기
https://www.pocu.academy/ko/Courses/COMP1000
3. 문제 풀어보기 (정답이 아닌 다른 방식도 알 수 있습니다.)프로그래머스
https://programmers.co.kr/skill_checks
백준
공부하는 방법은 다양합니다.
많이 푸는 것은 어떤 문제가 있는지 아는 것에서 그치는 경우가 많습니다.풀이법은 많이 있습니다. 하지만 효율적인 방법을 써야하는 경우가 있을 때에는, 맞는 방법을 써야 하기도 합니다.
아무리 효율적인 방법으로 풀었다 하더라고, 유지보수가 안되는 방식이라면 문제가 되기도 합니다.
지금은 무조건 많이 푸시는 것보단 원하는 프로그래밍에 대한 공부를 하셔야 할 것 같습니다.
수학 공부를 병행 하시려면 어디부터 해야할지 모를것 같습니다.
수학공부하고 하고 싶으시다면, 여러 사이트에서 프로그래밍 관련 수학 공부하는 쿼리큘럼을 보셔서 하는것도 추천을 드립니다.안녕하세요.
프로그래밍 공부하시는데 고난이도 수학지식은 필요없습니다.
때에 따라 필요하시면 (미적분, 삼각함수, 로그함수 등등)
그때 찾아서 간단히 이론과 원리만 공부하시고 적용하시면 됩니다.
기본적인 사칙연산과 각 언어에 맞는 연산자 우선순위 등만 잘 아시면 돼요.
수학 문제보다는 알고리즘 문제를 푸시는걸 권해드립니다 ^^
아래 사이트에서 코딩 테스트 연습을 꾸준히 해보세요.
즐겁고 실력도 쑥쑥 늘어난답니다.
알고리즘 문제들도 많고 다른 사람들이 어떻게 풀었는지도 볼 수 있어서~!! 매우 좋습니다.
다양한 언어로 해결한 답안들이 많으니
타 언어에 대한 이해도도 쑥쑥 올라갑니다!!
1) 백준 온라인 저지
2) 알고스팟
https://algospot.com/judge/problem/list/
3) 프로그래머스
안녕하세요.
프로그래밍 초보분들이 가장 많아 하는 실수가 문제를 보고 일단 int 부터 압력하는 것입니다.
무턱대고 코딩을 시작하는 것보다 연필을 들고 내 생각을 공책에 옮겨 적으며 순서도를 그려보면서 논리적으로 성립하는지를 생각해 보고 어느 정도 확신이 들 때 그 때 키보드 위에 손을 올려놓아야 합니다.
느릴 것 같지만 이게 훨씬 빠르고 또 정확한 방법입니다.
수학 지식이 많이 팔요한 경우보다는 논리적 사고력이 필요한 경우가 대부분입니다.
내 생각을 먼저 연습장에 옮겨 보는 연습을 추천두립니다.
프로그래밍에서 수학이 필요한 분야가 있죠
데이터 분석이나 인공지능, 3D 프로그래밍 등 수학을 쓰는 분야가 꽤 있습니다.
어떤 분야 쪽으로 프로그래밍 하실진 모르겠지만 수학을 써야하는 쪽이라면 수학 공부를 많이 하시는 것이 당연히 좋습니다.
확률 통계 및 선형대수 쪽을 특히요
프로그래밍을 공부하면서 수학 쪽이 너무나도 부족하다 싶으면 따로 공부하는 것이 좋을 듯 합니다.
수학 개념이 부족한다 문제를 많이 푼다면 밑 빠진 독에 물 붓기거든요
프로그래밍은..수학을한다고 느는건아니구요
개인적으로는 많이 해보시는것을추천드려요
반복작업을하다보면 어느순간 깨달음을 얻는순간이 꼭 있습니다.
했던코딩도 여러번반복 해서 코딩하다보면
이해가가기도하고 이해를잘못했던 내용도
책이나.이론적이것을 추가로공부했을때
확실히 이해가갈때기있어요!
프로그래밍 언어를 공부하고 계시군요? !
지금 고민하고 계신 부분은 알고리즘을 공부하시면서 어떻게 풀어나가면 좋을지
어떤 수식을 사용하면 좋을지 해당 부분에 대해서 많이 고민하고 계신 것 같아요.
프로그래밍 언어는 말 그대로 프로그래밍을 하기 위해서 사용하는 언어입니다.
단순한 예시로 모바일 앱 개발을 하려고 하는데 웹 개발 언어를 공부하고 있으면
당연히 모바일 앱 개발에 사용하는 언어를 다시 공부 해야겠죠?
본인이 어떤 프로그래밍 언어를 공부하시는지 모르겠지만 개발 언어는 개발을 위한 하나의 도구입니다.
무엇을 개발 하고 싶은지 고민 해보시고 이 부분이 정해지면
간단한 프로젝트를 진행 해보시길 바랍니다.
ㄴ 모바일, 웹 등에서 사용 가능한 게시판 개발 해보시면 본인이 무엇이 부족하고 필요한지 쉽게 알 수 있을 거에요 ~~!
질문이 "프로그래밍은 하면 할 수록 (실력이) 느나요?"를 물어보시는 거죠?
달인의 비결?
일상생활을 예로 들어보면 "양치질은 하면 할수록 이닦는 실력이 늘어나는지?"를 생각해보면 좋을 것 같습니다.
아무리 이를 매일같이 열심히 닦는다고 하지만 충치가 생기고 치아 질병이 생기는 것을 경험할 수 있습니다.
스무살이라고 한다면 단순 시간 계산으로 하루에 2회 x 365일 x 20년 = 14,600번이나 했는데 이닦기의 달인이 되지 못했다는 사실입니다.몰입이론
미하이 칙센트미하이의 몰입 이론에서 실력과 느끼는 난이도 그래프는 아래와 같습니다.
A의 영역은 실력이 작업 난이도를 초과하는 영역입니다. 즉 본인의 실력보다 쉬운 일을 하고 있는 것입니다.
일시적으로는 뭔가 진도가 빨리 나가니 좋다고 느낄수 있겠지만, 시간이 지나면서 지루한을 느끼게 됩니다.반면 B 영역은 실력보다 높은 난이도의 일을 합니다. 이렇게 되면 불안감이나 두려움을 느끼게 됩니다.
따라서 C영역에 주목해야 할 필요가 있습니다. 바로 난이도와 실력이 어우러질 수 있는 것입니다.
의도적 수련
실력을 높이기 위해서는 "의도적인 수련"이 중요하다고 알려져 있습니다.
의도적 수련이란 학습의 의도를 가지고 지속적으로 연습을 하는 것입니다.따라서 그냥 단순히 문제풀이를 한 다는 것은 실력향상에 도움이 안될 가능성이 높습니다.
반복을 통해 실력을 향상을 시키려면
1. 실력을 향상하기 위한 동기(분명한 목표와 적절한 난이도)가 필요하고
2. 구체적인 피드백을 적절하게 받아야 합니다.프로그래밍 언어와 수학
질문에서 프로그래밍을 공부하고 있는데 수학 실력이 부족해서 어려움을 겪었다고 이야기 하셨습니다.
프로그래밍 초급자라면 아직 언어에 익숙하지 않은 상황일 것입니다.
그런데 여기에 수학이라는 다른 난이도를 얹게 되면 작업 난이도는 더 높아질 것입니다.프로그래밍 입문을 하고 있는데, 프로그래밍 자체보다 수학 같은 다른 것에 두뇌 에너지를 빼앗긴다면 학습효율이 오히려 떨어질 수 있습니다. 하지만 반대일 수도 있습니다. 수학을 하면서 프로그래밍을 공부할 경우 복합적인 학습이 되어 기억이 더 오래 갈 수 있다는 연구도 있습니다.
결국 핵심은 적적한 난이도입니다.
안녕하세요.
저는 현재 10년차 개발자로 근무하고 있는데요
저도 초급자일때는 머리가 멍해지고 어떻게 해야하는지 막막할때가 많았습니다.
물론 수학을 잘하면 프로그래밍 실력에 도움이 되긴 하겠지만
수학공부를 따로 하실필요까진 없으시구요
무엇이든 다 똑같겠지만 반복해서 연습해보시는게 제일 좋습니다.
지금이야 우리가 1+1= 문제를 보자마자 2라는 답이 나오듯
처음 더하기를 배우는 단계에서는 1+1은? 하고 물으면 멍~ 한것과 같은거죠
예제가 많은 책을 구매하셔서 무작정 따라해보세요
그러다보면 익숙해지고 눈에 들어오고 이해가되고 그렇게 실력이 늘어나는거죠
알고리즘 공부도 같이 하시면 실력향상에 큰 도움이 됩니다
예제나 알고리즘을 풀다 막히시면 질문 올리시면 도와드릴께요
멋진 개발자가 되시길 바랍니다
직무에 따라서 다르지만 어떤 직무든 알고리즘 공부하는게 도움이 되실겁니다.
수학공부를 따로 하시는것보다 알고리즘 문제를 많이 풀어보시는게 좋을것같습니다.
웹개발자 혹은 백엔드서버개발자 등 직무를 하려고 하시면 알고리즘을 중점으로 공부를 하시면될것같아요.
알고리즘을 잘 알고 있으면 소스가 간결해지고 개발시간이 단축됩니다.
데이터분석관련 직무를 하려고 하시면 통계학을 배우는게 좋을것 같습니다.
요즘 뜨고있는 AI, 빅데이터분석 등의 직무는 통계를 기본으로 합니다.
방대한 양의 데이터를 어떻게 분류할것인지 어떻게 가공해서 사용할것인지는 통계학을 기반으로 합니다.
수학을 잘해야만 프로그래밍 언어를 잘 다룰수 있는건 아닙니다.
단지 책들을 보면 예제로 산술 연산이나, 기타 수학적인 예제를 많이 다루기 때문입니다.
중요한건 프로그래밍 언어로 뭘 하고, 뭘 개발할지가 중요합니다.
현재 관련 직장을 구하시는 경우라면 그리고 비전공자이시면 국가에서 제공하는 6개월~4개월짜리 개발과정 교육이 있습니다.
교육 수료후에는 관련한 직장이나, 직장 입사후 프로젝트에 투입될 수 있습니다.
경력이 쌓이고, 프로그래밍 언어를 계속 다루시다 보면 자연적으로 경험과 능력이 향상 되게 됩니다.
그냥 단순히 취미로 하신다면, 뭘 개발할지 목표를 정한 후에 프로그래밍 언어로 단계적으로 개발해보시기 바랍니다.
무수히 많은 프로그래밍 언어가 존재합니다. 요즘 많이들 사용하시는 파이썬도 좋고, 자바 언어도 좋습니다.
온라인(인프런 추천 - 무료, 유료 강좌) 강좌나 유투브에 관련한 강의들 청취하시면서 지속적으로 개발해보시면 좋은 성과 있으실겁니다.
프로그래밍에서 수학은 매우중요합니다.
특히 게임프로그래밍일 경우 더욱 중요합니다.
현업 개발자로써 조언드리자면 수학이 중요하긴 합니다만 프로그래밍 경험보다 중요하지는 않은 듯 합니다.
아직 초보 개발자라고 하시니 개인적인 프로젝트를 하면서 많은 프로그래밍을 하시다보면 그에 따른 실력이 늘어나는것을 체감하실 수 있습니다.
프로그래밍을 하시다가 수학적으로 필요한 사항이 나오면 그때그때 수학을 공부하실 것을 추천드립니다
답변이 도움이 되셨으면 좋겠습니다
안녕하세요. 아하(a-ha) 프로그래밍 지식 답변자 입니다.
문제를 풀다가 문법이 아닌 다른 문제로 인해 문제풀이에 어려움을 겪으셨다고 질문을 주셨군요.
프로그래밍은 사실 논리 회로를 만드는 작업이라고 볼 수 있습니다. 그러므로 논리력을 기르는 것이 중요한 부분 인데요, 먼저 프로그래밍 코드를 쓰기 보단 손으로 논리 회로를 그려보면서 작업을 하는 편이 도움이 될 것 같습니다.
물론 수학 공식을 사용해 복잡한 코드를 간단하게 만들 수도 있죠, 예를 들어 1부터 100 까지의 합을 구할 때 반복문을 쓸 수도 있지만, 수학 공식을 사용할 경우 좀더 효율적인 코드를 만들 수도 있죠.
수학 공부, 문제 풀이 둘다 많은 도움이 되겠지만, 문제를 풀기 전 손으로 한번쯤은 논리 회로를 그려보시는게 좋을 것 같다고 생각이 듭니다.
답변이 도움이 됐으면 좋겠습니다. 좋은 하루 되세요!
안녕하세요.
보통 풀어야 할 문제가 주어지고 그 문제를 해결할 프로그램을 만들 때의 순서는
논리적으로 해당 문제를 어떤 방식으로 풀어야 할지 정리한 뒤
해당 방법을 내가 사용하는 프로그래밍 언어로 구현해 낼 수 있느냐 생각해 보는 것이 순서인 것 같습니다.
따라서 해당 문제가 수학적 지식을 필요로 하는 내용이라면 당연히 우선적으로 수학 공부가 필요하다고 생각됩니다.
하지만 공부하는 단계라면 미리 수학을 공부하고 하실 필요는 없고 필요로 하는 지식이 생겼을 때 같이 공부하시면 될 정도로 보입니다.
안녕하세요 프로그래밍 공부를 하신다고 하는데 하시는 공부가 백준이나 프로그래 머스에서 코딩테스트 문제를 푸시는 건가요?? 만약 그렇다고 하시면 수학공부와 함께 진향하시는 것이 도움이 많이 됩니다. 프로그래밍 문제는 일단 무조껀 많이 풀면 실력이 늘지만 나중에 점화식을 새워여하는 경우 수학을 잘해야 도움이 많이 되기때문에 같이 공부하시는걸 추천드려요 그리고 백준기준으로 문제를 푸실때 브론즈 문제부터 차근차근 풀어 보시면 도움이 많이 될꺼에요
단순 개발면접 같은데서 나오는 문제들을 푸는데는 실력향상에 도움이 좀 적을거라 생각됩니다
특정 프로젝트를 목표로잡아보고 그 프로젝트를 완성시키는 식으로 개발을 하다보면 실력향상에 좀더 도움이 될거라 생각됩니다.
수학공부는 그래프를 그리거나 3D모델쪽을 할게 아니라면 안하셔도 크게 상관없습니다.
제 경우에는, 눈에 보이는 것을 만들기 시작했을 때 부터 흥미가 급속도로 붙었던 것 같아요.
알고리즘도 중요하지만, 공부만 하면 흥미가 생기기 어려워 끝까지 지속하기 어렵다고 생각해요.
그래서 너무 완벽하게 하는 것 보다는 대충이라도 손으로 대충 그린 화면을 HTML로 직접 코딩 해 보고,
거기 버튼이나 셀렉트 박스, 인풋 요소 등을 배치 해 둔 다음에
버튼을 클릭했을 때, 셀렉트 박스의 값이 변경 되었을 때, 인풋 요소에 값이 입력되는 시점 마다 발생하는 '이벤트'라는 것을 받아서 자바스크립트로 어떻게 처리할 수 있는지 방법을 알아가는 과정을 통해 흥미도 얻고 더 깊어지는 계기가 될 수 있다고 생각해요.
취향에 맞는 방향인지는 모르겠지만, 어떤 개발을 하더라도 기본적인 UI 구현은 앞길에 도움이 많이 될 수 있다고 생각하고 있어요.
저는 잘 몰라도 우선 해보자 하는 성향이어서 그런건지도 잘 모르겠지만요.
수학적인 부분이 부족한 면이 있다고 해도, 논리적으로 어떤 기능을 구현해야 하는지 한글로 먼저 정리를 해 본 다음에 코드로 옮기는 연습을 하다보면, 부족하다고 느끼고 계시는 그 부분도 같이 실력이 증가할 것이라고 생각해요.
그러니 너무 문제 풀이에만 매몰되지 마시고, 특정한 목표를 정해서 작지만 온전하게 동작하는 프로그램을 조금씩 완성시켜가다보면 좋은 결과가 있을거라고 생각합니다. 저 같은 경우는 이중 포문을 처음 접했을 때 이해가 잘 안돼서 프로그래머를 할 수 없는 머리를 가졌나 자괴감을 느꼈던 적도 있었거든요. 조금씩 버거운 목표를 정해가며 성취 하다보면 분명히 실력이 늘어날거예요.
이런 과정을 통하게 되다 보면 화면을 담당하는 프론트엔드를 넘어, 웹 백엔드라고 표현되는 서버쪽에서 해야 하는 일들이 어떤 것들이 있는지 보다 더 정확하게 궁금함을 품을 수 있게 되고, 이로부터 더 파고 들어갈 수 있는 계기가 되어줄 수 있다고 생각해요.
우선 아주 하찮은것일지라도 스스로 따라 만들고싶은 완성품을 하나 정한 다음에, 그걸 언제까지 완성해야겠다는 목표를 설정 해 보시고, 그걸 어떤 후진 방법이라도 좋으니 어떻게든 완성 해 보고 사람들에게 피드백을 받아보세요. 피드백을 해 줄 사람들이 어디 있는지 모르겠다면 페이스북 같은 곳에 생활코딩이라는 곳에 가입 해 보시는것을 추천해요. 거기에 하다가 막히는 것들이 있으면 질문을 잘 정리해서 올려보세요. 질문을 정리하는 과정도 정말 좋은 공부가 된다고 생각하고 있어요. 이런 과정을 반복하시다 보면, 그리고 이 반복되는 과정에서 괴로움 보다는 즐거움이 느껴진다면, 질문하신 분 께서는 좋은 개발자로 성장하실 수 있을 거라고 생각합니다.
수학이 부족하다고 느끼시는 부분이 어떤건지 잘 모르겠네요..
프로그래밍 언어도 외국어 공부한다는 생각으로 접근하시면 좀 더 쉽게 접근하실 수 있을 거 같습니다.
처음에는 책을 정독하면서 책에 있는 예제를 반복적으로 풀어보시면서 암기 및 이해를 하시는게 좋습니다.
문제가 어려워 막히신다고 포기하지 마시고 화이팅 하시기 바랍니다.
당연히 하면 할수록 늡니다. 하지만 기초가 잡혀 있지 않은 상태에서 혼자서 공부하는 것은 쉽지 않은 일입니다. 요즘 유투브 강의나 책도 잘 나오지만 어느정도 프로그래밍에 이해도가 높아진 후에 보시길 권유드립니다. 기초가 없으시다면 학원을 다니시길 추천드립니다. 국비지원 학원의 경우 비용부담도 없으니 한번 알아보시기 바랍니다
안녕하세요 아이티업계에 근무하고 있는 사람입니다
프로그래밍은 수학 특히 행렬기반이기는 한데요 수학공부한다고 해서 실력이 확 늘거나 하지는 않을거에요
구글에 있는 오픈소스들 많이 보시고 실습이나 예제들 혼자서 많이 해보시면 도움 되실거에요
답변이 도움되었길 바랍니다
감사합니다.......
안녕하세요.
프로그래밍 언어를 공부하고 계시네요.
우선 문제 풀다가 문법을 몰라서 라기 보다는 수학이 딸려서 라고 생각을 하시는 부분이 있으신것 같네요 .
우선 프로그래밍은 공식이라고 생각 하시면됩니다. 알고리즘 등 수학적 공식을 대입해서 프로그래밍을 하는 경우가 많구요.
수학이 기초가 된다고 생각하시면됩니다. 물론 분야에 따라서 전문적인 수학지식이 필요한 프로그램들도 있지만 이제 시작하실경우 선형대수학이라던가 이산수학 등 배워놓으면 좋다고 할 수 있습니다.
프로그래밍 하면서 수학공부를 함께 하시면 문제를 푸는데 더 많은 도움이 된다고 생각합니다.
프로그램은 경력도 실력으로 인정됩니다
초급 중급 고급을 나누는데 있어 경력으로 대부분 나뉩니다
문법이 생각나지 않으시면 검색과 책을 활용 하십시요
프로그래머 대부분이 머리속에 로직을 모두 담아놓고 프로그래임을 하지 않습니다
While 문이 어려우면 if 문을 여러개 만든다고 생각하시면 돕니다 구문을 활용하시다가 더 깔끔하고 간결한 로직으로 발전 하시면 됩니다
프로그램을 하시면서 수학공부가 필요 할때가 많으실 겁니다
수학을 잘 하면 남들보다 훌륭한 로직을 구성 하실수 있습니다
초급자시니 프로그램을 공부하시면서 수학도 공부 하신다면
가장좋으나 우선은 프로그램 기초를 확실히 다지시고 수학도 공부하시는 순서를 추천 드립니다
흠 근데 그게 정말 수학적인 부분인지 아니면 코딩 쪽 문법에 익숙하지 않으셔서인지 확실치 않다고 생각이 드네요. 처음에는 당연히 코딩이 돌아가는 방식이 전에 접해본적 없는 개념이라 저도 어떻게 접근해야되는지 모르겠고 풀이를 봐도 이해가 안가고 그랬거든요.
수학보다는 사실 통계 같은 부분이 더 중요하기도 하고 굳이 수학 자체를 더 공부하기보다는 알고리즘 책 같은거 사서 많이 보시고 직접 또 짜보시고 예제를 많이 풀어보시길 추천드려요.
저도 처음 프로그래밍을 시작할 때 겪었던 문제라 남일처럼 느껴지지않네요 ^^
프로그래밍 언어를 배운다는건 문제를 해결하기 위한 도구의 종류와 각 도구별 사용법을 배우는 것과 같습니다.
때문에 언어를 배웠다고 해서 바로 원하는 프로그래밍을 할 수 있는건 아닙니다.
어떤 문제를 접했을 때 이 문제를 논리적으로 분석하고 문제를 해결하기 위한 일련의 절차를 스스로 만들어 나가야 합니다.
흔히 로직과 알고리즘 기반의 사고구조를 확립해야 언어라는 도구를 활용해서 프로그래밍을 할 수 있는 겁니다.
아마도 수학쪽을 생각했다는거는 수학을 통해 마법같은 해결방법이 있지 않을까 하는 생각이었겠다는 생각을 해 봅니다 ^^
수학을 잘하면 확실히 유리합니다. 하지만, 학창시절에 배운 공식 기반의 수학은 크게 의미가 없고 오히려 그러한 공식을 만들어 나가는 과정이라고 보시는게 좋을것 같습니다.
결론적으로, 프로그래밍은 하면 할수록 실력이 늘어나는건 맞습니다.
다양한 시행착오를 거치면서 자연스럽게 로직적인 사고구조와 자신만의 알고리즘을 알아가기 때문입니다.
특히, 알고리즘이 중요한데 알고리즘은 다양한 서적과 사이트에서 강의도 하고 모의문제도 제공하고 있습니다.
또한 대기업이나 유명한 IT기업 등에서 특정 언어에 국한하지 않고 알고리즘 시험을 통해 인력을 뽑기도 합니다.
알고리즘 사이트에 대해서 소개가 잘 되어 있는 2가지 블로그를 소개합니다.
여기에 알고리즘 관련 사이트들이 소개되어 있는데 문제해결 능력을 키우기 위해 취사선택해서 보시는걸 추천드립니다.
https://readystory.tistory.com/120
https://gist.github.com/shoark7/38bcff39588b528d37313a669fdfd75d
힘내시기 바랍니다 ^^
프로그래밍 언어를 공부하고 있는데요. 문제 풀다가 문법을 몰라서가 아니라 수학이 딸려서? 어떤 방식으로 접근해야 될지 모를 때가 많았었어요...
프로그래밍도 하면서 수학공부 따로 하는 것이 나을까요? 아니면 그냥 문제를 많이 푸는 것이 더 나을까요?
아직 초급자여서 어떤 방식이 더 좋을지 잘 모르겠네요...
===> 열심히 많은 문제들을 풀구요, 그리고 문제풀이 하다가 막히는 부분있으면
본인이 작성하던 소스와 함께 질문을 해주세요
그러면 전문가분들이 답변을 해드릴것입니다
단순히 기술적인 부분은 시간이 지나며 늘어갑니다. 인터넷을 통한 정보공유가 활발히 이루어져서 기술적인 부분은 쉽게 익힐 수 있습니다. 제일 중요한 부분은 어떻게 구현할지 생각하는 것입니다. 기본적으로 통계, 수치해석 등 공부하실 수 있으시면 같이 병행하는걸 추천 드립니다. 단순히 남이 하는걸 보기 보다는 먼저 고민해보는걸 추천드립니다. 감사합니다.
안녕하세요. 현업 6년차 개발자입니다. 프로그래밍을 공부하신다니 반갑습니다! 저도 질문자님과 같은 고민을 하던 시절이 있었죠. 대부분의 사람들이 프로그래밍에 막히는 이유는 사실 수학능력이 부족해서도 아니고 문법이 어려워서도 아닙니다. 즉 수학 공부를 한다던가, 문제를 많이 안 푼다고 해서 프로그래밍 역량이 엄청 늘어나지 않습니다. 보통 프로그래밍이 어려운 이유는 바로 "컴퓨터의 사고방식"이 익숙하지 않기 때문입니다. 컴퓨터는 논리적으로, 순차적으로 프로그램을 수행하는 반면, 사람은 컴퓨터처럼 생각하지 않습니다. 그런데 프로그램을 짜는 주체는 사람이기 때문에, 사람의 생각으로 컴퓨터의 언어인 프로그래밍을 하려다보니 어려운 것입니다.
다시 말하면, 문법을 틀리고 에러가 나는 이유는 사실 본인이 프로그래밍 역량이 부족해서가 아닙니다. 컴퓨터 능력이 부족한 겁니다. 사람이었다면 적당히 말로 설명해 알아들을 수 있는 간단한 문제를, 컴퓨터는 그저 단순한 기계이기 때문에 한정된 법칙 안에서만 이해하려 드는 게 문제인거죠. 이에 너무 좌절하지 않으셔도 됩니다.
따라서 더 나은 존재인 사람이 컴퓨터를 충분히 배려해서 프로그램을 정교하게 짜는 것이 필요합니다. 풀어 말씀드리면 프로그램이 동작하고, 컴퓨터가 사고하는 방식을 잘 익혀서, 컴퓨터가 잘 알아듣게 프로그램을 짜는 능력이 필요한 겁니다. 수학공부도 어느정도 도움은 되고, 많은 문제를 푸는 것도 어느정도 도움이 됩니다. 모두 컴퓨터가 사고하는 방식을 배우는 거니까요. 다만 중요한 건 수학이나 문제를 푸는 것 자체에 집중해서는 안됩니다. 컴퓨터처럼 사고하는 방식 그 자체에 집중하셔야 해요. 이게 많은 사람들이 놓치는 부분이기도 합니다. 주객전도가 되기 쉬우니 프로그래머가 되시기로 마음 먹으셨다면, 반드시 이 점을 생각하시면서 공부하시면 좋은 결과가 있을 거라고 봅니다.
어쩐 방식으로 접근해야되냐를 질문하셨습니다. 데이터형식과 조건문, 반복문에 충분히 익숙해지세요. 그것이 컴퓨터가 사고하는 방식의 8할 이상을 차지한다고 생각합니다. 그리고 실제로 사용되는 다양한 함수와 개발 예시들을 찾아보세요. 이런 케이스 스터디를 미리미리 해두면 실전에서 분명 도움이 됩니다.
도움되셨길 바랍니다!
프로그래밍은 많이 해보면 해볼수록 실력이 늘어나는 것 같습니다.
물론 아무런 생각 없이 프로그래밍을 한다면 실력이 늘어날수는 없겠지만 보통은 이 코드를 어떻게 개선해볼까? 이런 고민을 많이하다보니 많이 해보는 것이 좋은 방법 같습니다.
또한 다른사람이 만든 코드도 잘 보는 것이 중요합니다.
잘만들어진 코드는 따라해보고 개선해본다면 더 좋을 것 같습니다.
아직 전체적인 흐름을 따라가지 못하셔서 그런겁니다.
프로그래밍에는 알고리즘을 잘 이해하셔야 합니다.
주먹구구식으로 양으로 승부하는 과목이 아니라 질로서 충분한 이해와 응용이 가능해야합니다.
그냥 열심히 받아쓰기만 하면 나중에 프로그래밍 하실때 크게 멘탈이 나가 실 수 있습니다.
대부분의 프로그래머들은 에러가 나면 어디가 어떻게 동작하는데 어디서 잘못 되었다고 예측을 하고,
대부분 그 예측이 맞습니다. 문제를 풀 때 이건 꼭 맞혀야 한다는 느낌보다는 이걸 이해한다는 느낌으로 해주세요.
분석과 이해력이 필요합니다.
안녕하세요. A-HA 프로그래밍 전문가입니다.
모든 학문과 육체적 활동이 그렇지만, 프로그래밍 역시 꾸준하게 연습하고 공부한다면 늘게 되어 있습니다.
이건 어떤 분야에서건 불변의 진리이지요.
조금 더 늦게, 빠르게의 정도 차이는 있을 수 있지만 꾸준하게 하신다면 충분히 실력이 느실 수 있습니다.
혼자 하는게 힘드시고, 여건이 된다면 국비 지원 학원이나 부트 캠프를 알아보시는 것도 좋겠네요.
프로그래밍이랑 수학이랑 연관지어서 어려워하셔서 더 힘들어하시는 거 같네요. 프로그래밍에 수학적 요소들이 많이 나오긴하지만 다르다고 생각하시고 몇 번의 반복을 통해 공부하다가 보면 어느새 눈이 떠지실거예요. 문제를 많이 풀기보다는 헷갈리는 부분을 서칭하면서 찾아보고 공부하다보면 수학과는 다른 것을 느낄거예요.
요즘 대세인 AI를 보더라도 수학적인 지식이 없으면 접근 하시기 꽤나 어려울겁니다.
기본 공학수학정도는 마스터 하시면서 프로그래밍도 하는게 코딩하는데도 많은 도움이 되실겁니다.
비전공자 개발자들 중에서 통계학과나 수학과를 나오신 분들의 코드를 보면 로직 자체부터 많이 다를 경우가 있으니 공부하시면서 수학은 필수로 가져가심이 좋을듯 합니다.
안녕하세요 질문자님 ^.^
문제 풀다가 수학적 지식을 얘기하시는것보니 알고리즘 문제 등을 말씀하시는것 같습니다.
알고리즘 기반의 코딩테스트가 꼭 프로그래밍 실력은 아닙니다.
하지만 우선 코딩테스트 기반으로 공부하시는중이신것 같아서 설명 드리자면
대부분의 코딩테스트는 사실 사용하는 알고리즘이나 수학적 지식은 한두바퀴 돌아보시면 크게 특이한 지식을 요구하지는 않습니다.
기본적인 필요 알고리즘(버블 솔트 등) 이나 수학적 지식은 코딩테스트를 공부하시면서 그때 그때 풀이를 보시고
해당 부분을 공부하시는것 정도로도 어느정도 숙달이 가능한 수준입니다.
( 질문자님 수학적 지식이 고등학교 이과생 수준이시면 그때 그때 개념 배우시는 정도로 충분합니다. )
따라서 문제를 풀어가시면서 막히시는 구간의 수학적 지식만 추가로 익히시는게 시간적으로 도움이 더 많이 됩니다.
문법은 그저 연필에 불과합니다.
연필로 수학 공식을 잘 풀어야 하듯 프로그래밍도 똑같아요.
알고리즘, 자료구조론 등에 대해서 공부해 보시는것을 추천드립니다.
그 두가지 원리를 이해한 프로그래머와, 아닌 분들의 차이점이 분명 존재합니다.
불행중 다행인 것은
이미 구현해 둔 알고리즘, 자료구조론을 적재 적소에 잘 활용하는 것이 더 중요한 경우가 많습니다.
수학으로 치면 원리를 이해하고 문제를 풀어나갈 수도있지만, 공식을 써서 단번에 답을 알아 낼 수 있는것과 비슷합니다.
중요한건 어떤 문제에 어떤 공식을 써야 하는지 판단하는 능력일 수 있습니다.
이 능력은 많은 문제를 풀어보며, 아 이럴때는 이런걸 쓰면 되겠구나? 라는 감이 오는 시점이 분명 옵니다.(프로젝트 투입등에 따라서)
사실 현업에서 일하다보면, 다른분들이 짠 코드를 볼 기회가 많은데 좋은건 취득하고 개선할건 개선하며 나만의 패턴을 만들어 나가게 됩니다.
결론 문제를 많이 풀어보세요~
안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.
질문하신 내용에 대하여 아래와 같이 답변 드립니다.
많이 할수록 실력이 늡니다.수학문제 많이 풀고 어려운거 풀어내는 것과 같습니다.
프로그래밍 하다보면 수많은 이슈를 접하게 됩니다.
그걸 해결해나가다 보면 많은 성장을 하게 되며
그 해결해나가는 힘 역시 본인에게 큰 자산이 됩니다.
부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!안녕하세요
프로그램 개발자라고 전부 수학을 잘 하지는 않습니다.
궁극적으로 수학적 기법이 들어가면서 코딩을 해야 하는것이 아니라면
수학이 꼭 필요하진 않습니다. 다만 알고리즘등 이해하는 과정에서 이해력이 좀 낮으면
어려울 수는 있습니다. 수학공부 보다는 그시간에 알고리즘 하나 더 공부 하고 코딩을 해 보는것이
좋다고 생각됩니다. 개인적으로 문법을 모르는것과 수학은 크게 연관이 없다고 생각됩니다.
열공하세요~