프로그래머처럼 생각하기 위해해야 ​​할 일

  1. �� 이것이 중요한가요?
  2. 패턴 찾기
  3. 1. 그녀를 이해하십시오.
  4. 2. 계획
  5. 3. 문제를 작은 하위 문제로 분해합니다.
  6. 4. ���어있어?
  7. 연습
  8. HackerRank에 따라 5 가지 가장 유명한 프로그래밍 언어로 명명되었습니다.
  9. 프로그래머가되는 법, 정말로 원한다면,하지만 경험이 없다.

��로그래머와 같은 생각은 무엇을 의미합니까? 사실 모든 것이 문제를 해결하는보다 효율적인 방법입니다. Blogger 및 모바일 애플리케이션 개발자 인 Richard Rees는 계산 방식을 개발하는 방법에 대한 몇 가지 팁을 제공했습니다.

�� 이것이 중요한가요?

문제 해결은 metanavyk입니다. ���리는 어떻게 대응할 수 있습니까? 꽤 무작위. 시스템이없는 경우 다음과 같은 방법으로 문제를 "해결"할 가능성이 가장 큽니다.

  1. 해결책을 시도하십시오.

  2. 실패하면 다른 것을 시도하십시오.

  3. 운이 좋을 때까지 2 단계를 반복하십시오.

그러지 마라. 이것은 엄청난 시간 낭비입니다. a) 패턴을 찾고 b) 연습을해야합니다.

"거의 모든 고용주들은 우선 직원들이 어떻게 문제를 해결 하는지를 살펴 봅니다. 이 기술은 프로그래밍 언어, 디버깅 및 시스템 설계 지식보다 중요합니다. 전산 사고와 크고 복잡한 문제에 대처할 수있는 능력은 작업에 필요한 기본 기술과 동일한 가치를 지닙니다. "- HackerRank (Developer Skills Report 2018).

패턴 찾기

"초보 프로그래머는 종종 문제 해결이 아닌 구문에 중점을 둡니다. 그리고 이것은 가장 큰 실수입니다. " V. Anton Sproul .

새���운 문제에 직면했을 때 당신은 무엇을해야합니까?

1. 그녀를 이해하십시오.

당신은 당신에게 필요한 것을 알아야합니다. 당신이 그들을 이해하지 못하기 때문에 작업이 복잡해 보입니다. ���제를 이해했는지 여부를 어떻게 알 수 있습니까? 간단한 언어로 설명해보십시오.

사진 : Unsplash

이것은 꽤 자주 발생합니다 : 당신은 일에 매달려서 설명을 시작하고 갑자기 논리적 인 단점을 발견합니까? 대부분의 프로그래머는이 느낌에 익숙합니다. 문제를 종이에 적어 두거나 다른 사람에게 이야기하십시오.

2. 계획

계획없이 문제를 해결하기 위해 즉시 진행하지 마십시오. 정확한 단계를 작성하지 않으면 아무 것도 도움이되지 않습니다. 두뇌에 문제를 분석하고 정보를 처리 할 시간을줍니다. 좋은 계획을 세우려면 다음 질문에 답하십시오.

"���력에 X가 있다고 가정하고 출력에서 ​​Y를 얻으려면 어떤 단계가 필요합니까?"

프로그래머는 이것을위한 훌륭한 도구를 가지고 있습니다 ... 의견!

3. 문제를 작은 하위 문제로 분해합니다.

이것이 가장 중요한 단계입니다. 하나의 큰 문제를 즉시 해결하려고하지 마십시오. 대신 작은 퍼즐로 나누고 점차적으로 해결하십시오. 가장 간단한 것으로 시작하십시오. 즉, 이미 답을 알고있는 것부터 시작하십시오. 모두에 대처하자마자 점들을 연결하십시오. 따라서 원래의 문제를 해결할 수 있습니다.

"저는 항상 초보 프로그래머에게 문제를 단순화하라고 조언합니다. 열 개의 숫자를 읽고 세 번째로 큰 숫자를 결정하는 프로그램을 작성해야한다고 가정 해 봅시다. 초보자의 경우이 솔루션은 기본 구문에 대한 지식이 필요하다는 사실에도 불구하고 매우 어려워 보일 수 있습니다. 문제가 발생하면 문제를 단순화하십시오. 세 번째로 큰 숫자 대신에 가장 큰 숫자를 찾으십시오. ���직도 열심히? 주어진 3 개의 가장 큰 수를 찾습니다. 아니면 둘. 문제를 해결하는 방법을 이해할 때까지 문제를 단순화하십시오. 그런 다음 작업을 점차 복잡하게 만들고 솔루션을 다시 작성하십시오. "- V. Anton Sprol.

4. ���어있어?

지금 당신은 아마 생각할 것입니다 : "글쎄, 그렇습니다, 이것은 물론, 훌륭합니다. 그러나 만약 내가 붙어서 작은 문제조차 풀 수 없다면 어떨까요?"

사진 : Unsplash

걱정마. 그것은 모든 사람들에게 일어납니다. 차이점은 프로그래머는이 문제에 직면했을 때 화를 내지 않는다는 것입니다. 반대로 그들은 해결책을 찾는 데 관심이 있습니다. 이렇게하는 세 가지 방법이 있습니다.

  • 다시 평가하십시오 . 다른 쪽에서 문제를보세요. 더 간단한 방법으로 제시 할 수있는 것이 있습니까?

"때로는 세부 사항을 놓치고 문제를 더 빨리 해결하는 데 도움이되는 일반적인 원칙을 놓칠 수도 있습니다. 고전적인 예는 연속적인 숫자의 합입니다 - 1 + 2 + 3 + ... + n. 칼 프리드리히 가우스 (Karl Friedrich Gauss)는 이것을 n (n + 1) / 2 표현의 형태로 제시했으며 불필요한 계산을 수행 할 필요가 없었습니다. "

코드를 완전히 다시 쓰는 또 다른 옵션이 있습니다. 모든 것을 삭제하고 다시 시작하십시오.

  • 탐색하십시오 . 문제가 무엇이든 지금 해결하려고합니다. 누군가 이미 당신 앞에서 해냈습니다. 검색 만하면됩니다. 문제를 해결 한 경우에도이 작업을 수행하십시오.

연습

일주일 만에이 분야의 주인이 될 것이라고 생각하지 마십시오. 문제를 잘 해결하려면 정기적으로 수행하십시오. 연습해라. 체스, 수학 문제, 스도쿠, 독점, 비디오 게임, 크립토 틱스 -이 모든 것이 문제 해결 능력을 완벽하게하는 데 도움이됩니다. 유명한 사람들도 그렇게합니다. 예를 들어 Peter Thiel은 체스를, Ilon Musk - 비디오 게임에서 .

"Ilon Musk, Reed Hoffman, Mark Zuckerberg 및 다른 이들은 게임이 성공의 토대를 마련했다고 주장합니다."- 메리 미커 .

비디오 게임을해야한다는 뜻입니까? 정말로. 물론, 당신은 여전히 ​​배울 필요가 있습니다. 자신의 기술을 연습 할 수있는 무언가를 찾으십시오.

주제에 대한 자료 :

HackerRank에 따라 5 가지 가장 유명한 프로그래밍 언어로 명명되었습니다.

나쁜 프로그래머의 12 징조 - 우리는 평신도를 식별한다.

프로그래머가되는 법, 정말로 원한다면,하지만 경험이 없다.

어떻게 그래픽 디자이너로서의 일을 그만두고 5 개월 만에 프론트 엔드 개발자가 되었습니까?

오타가 있었나요? 텍스트를 강조 표시하고 Ctrl + Enter를 누릅니다.

?� 이것이 중요한가요?
?�어있어?
?�로그래머와 같은 생각은 무엇을 의미합니까?
?� 이것이 중요한가요?
?�리는 어떻게 대응할 수 있습니까?
?�운 문제에 직면했을 때 당신은 무엇을해야합니까?
?�제를 이해했는지 여부를 어떻게 알 수 있습니까?
?�력에 X가 있다고 가정하고 출력에서 ​​Y를 얻으려면 어떤 단계가 필요합니까?
?�직도 열심히?
?�어있어?
Карта